歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> linux下文件編碼的查看與轉換

linux下文件編碼的查看與轉換

日期:2017/3/2 16:33:09   编辑:Linux服務器

通常來說,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包。地址(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

Copyright © Linux教程網 All Rights Reserved