一.前期準(zhǔn)備
1.首先在windows環(huán)境下打開(kāi)記事本,然后創(chuàng)建一個(gè)包含漢字和英文的文本文件,輸入內(nèi)容“測(cè)試在windows里的記事本里編輯的文本文
件,上傳到linux服務(wù)器上會(huì)不會(huì)出現(xiàn)亂碼?test!”。文件名為“測(cè)試亂碼文件.txt”。
2.使用xftp上傳此文件到linux服務(wù)器,在linux環(huán)境下查看內(nèi)容,發(fā)現(xiàn)輸出內(nèi)容是亂碼。
[root@node5 ~]# cat 測(cè)試亂碼文件.txt
2??windowsoμ??±?o±?μ???τ?t£??′?μ?linux·t???????Жò?£?
二.編碼轉(zhuǎn)換
1.出現(xiàn)此問(wèn)題的原因是編碼問(wèn)題。我們使用iconv進(jìn)行編碼的轉(zhuǎn)換。
#iconv參數(shù)如下:
-f, --from-code=名稱(chēng) 原始文本編碼
-t, --to-code=輸出編碼
-o, --output=FILE 輸出文件名
-l, --list 列舉所有已知的字符集
#iconv的命令格式為:iconv -f 原始文本編碼 -t 輸出編碼 需要轉(zhuǎn)換的文件名 -o 轉(zhuǎn)換之后的文件名
[root@node5 ~]# iconv -f gb2312 -t utf8 測(cè)試亂碼文件.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 測(cè)試亂碼文件.txt
[root@node5 ~]# cat aaa.txt
測(cè)試在windows里的記事本里編輯的文本文件,上傳到linux服務(wù)器上會(huì)不會(huì)出現(xiàn)亂碼?
#此命令可以列舉所有已知的字符集
[root@node5 ~]# iconv -l
通過(guò)上述操作之后,已經(jīng)解決了漢字亂碼問(wèn)題。
|