一.前期准备
1.首先在windows环境下打开记事本,然后创建一个包含汉字和英文的文本文件,输入内容“测试在windows里的记事本里编辑的文本文
件,上传到linux服务器上会不会出现乱码?test!”。文件名为“测试乱码文件.txt”。
2.使用xftp上传此文件到linux服务器,在linux环境下查看内容,发现输出内容是乱码。
[root@node5 ~]# cat 测试乱码文件.txt
²㋔՚windowsoµļȊ±¾o±༭µŎı¾τ¼þ£¬ʏ´«µ½linux·þϱǷʏ»»ᴶЖÒ룿
二.编码转换
1.出现此问题的原因是编码问题。我们使用iconv进行编码的转换。
#iconv参数如下:
-f, --from-code=名称 原始文本编码
-t, --to-code=输出编码
-o, --output=FILE 输出文件名
-l, --list 列举所有已知的字符集
#iconv的命令格式为:iconv -f 原始文本编码 -t 输出编码 需要转换的文件名 -o 转换之后的文件名
[root@node5 ~]# iconv -f gb2312 -t utf8 测试乱码文件.txt -o aaa.txt
[root@node5 ~]# ls
201810240430234009.pcm apache-tomcat-8.0.51.tar.gz glibc-aarch64-linux-gnu-2.24-2.sdl7.2.noarch.rpm jdk-8u172-linux-x64.tar.gz qemu-2.11.0.tar.xz telnet-0.17-64.el7.x86_64.rpm
a busybox-1.24.2 glibc-aarch64-linux-gnu-devel-2.24-2.sdl7.2.noarch.rpm linux-4.19.77 qemu-4.1.0 test2.txt
aaa.txt busybox-1.24.2.tar.bz2 idea快捷键.txt linux-4.19.77.tar qemu-4.1.0.tar test.txt
anaconda-ks.cfg ceshi.txt iu.jpg nginx-1.8.0.tar.gz rootfs 测试乱码文件.txt
[root@node5 ~]# cat aaa.txt
测试在windows里的记事本里编辑的文本文件,上传到linux服务器上会不会出现乱码?
#此命令可以列举所有已知的字符集
[root@node5 ~]# iconv -l
通过上述操作之后,已经解决了汉字乱码问题。