歡迎您光臨本站 註冊首頁

linux環境下輕鬆搞定文件編碼

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

  通常來說,Windows中默認的文件格式是GBK(gb2312),而Linux一般都是UTF-8,所以Linux下打開windows的文件會有亂碼的情況.另外,有時要將文件進行編碼轉換,如將簡體中文轉換為繁體中文.

  基於以上情況,本文將就在linux下查看和轉換文件的編碼進行說明.

  1.查看文件的編碼

  1)在Vim中可以直接查看文件編碼

  :set fileencoding 即可顯示文件編碼格式.

  2)enca查看文件編碼

  # enca filename 直接用enca加文件名查看

  # enca -L zh_CN filename

  註:enca對某些GBK編碼的文件識別不是很好,識別時會出現:unrecognized encoding.

  2.轉換文件的編碼

  1)在Vim中直接進行轉換文件編碼,比如將一個文件轉換成utf-8格式

  :set fileencoding=utf-8

  2)enconv 轉換文件編碼,比如要將一個GBK編碼的文件轉換成UTF-8編碼,如:

  # enconv -L zh_CN -x UTF-8 filename

  # enca -L zh_CN -x UTF-8 < file1 > file2 不覆蓋原文件

  3)iconv 轉換,iconv的命令格式如下:

  # iconv -f encoding -t encoding inputfile

  # iconv -l 查詢可用編碼

  # for i in `find ./ -name *.html`;do echo $i;iconv -f gb2312 -t big5 $i -o /tmp/iconv.tmp;mv /tmp/iconv.tmp $i;done

  批量轉換文件編碼實例之一

  3.文件名編碼轉換

  Linux與windows間拷貝文件,有時文件名會出現亂碼,是Windows的文件名中文編碼默認為GBK,而Linux默認的文件名為UTF8.在Linux中有個工具,convmv,可以對文件名進行GBK和UTF的相互轉換.

  用法:

  Convmv -f 源編碼 -t 新編碼 [option] filename

  安裝enca

  下載相關rpm包.地址(linux/RPM/dag/redhat/el5/i386/">http://rpmfind.net/linux/RPM/dag/redhat/el5/i386/ )

  我下載的是:enca-1.10-1.el5.rf.i386.rpm和enca-devel-1.10-1.el5.rf.i386.rpm

  安裝:

  # rpm -ivh enca-1.10-1.el5.rf.i386.rpm

  # rpm -ivh enca-devel-1.10-1.el5.rf.i386.rpm


[火星人 ] linux環境下輕鬆搞定文件編碼已經有944次圍觀

http://coctec.com/docs/linux/show-post-50632.html