linux環(huán)境下輕松搞定文件編碼
通常來說,Windows中默認(rèn)的文件格式是GBK(gb2312),而Linux一般都是UTF-8,所以Linux下打開windows的文件會(huì)有亂碼的情況。另外,有時(shí)要將文件進(jìn)行編碼轉(zhuǎn)換,如將簡體中文轉(zhuǎn)換為繁體中文。
基于以上情況,本文將就在linux下查看和轉(zhuǎn)換文件的編碼進(jìn)行說明。
1.查看文件的編碼
1)在Vim中可以直接查看文件編碼
:set fileencoding 即可顯示文件編碼格式。
2)enca查看文件編碼
# enca filename 直接用enca加文件名查看 # enca -L zh_CN filename 注:enca對某些GBK編碼的文件識(shí)別不是很好,識(shí)別時(shí)會(huì)出現(xiàn):unrecognized encoding.
2.轉(zhuǎn)換文件的編碼
1)在Vim中直接進(jìn)行轉(zhuǎn)換文件編碼,比如將一個(gè)文件轉(zhuǎn)換成utf-8格式
:set fileencoding=utf-8
2)enconv 轉(zhuǎn)換文件編碼,比如要將一個(gè)GBK編碼的文件轉(zhuǎn)換成UTF-8編碼,如:
# enconv -L zh_CN -x UTF-8 filename # enca -L zh_CN -x UTF-8 < file1 > file2 不覆蓋原文件
3)iconv 轉(zhuǎn)換,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
批量轉(zhuǎn)換文件編碼實(shí)例之一
3.文件名編碼轉(zhuǎn)換
Linux與windows間拷貝文件,有時(shí)文件名會(huì)出現(xiàn)亂碼,是因?yàn)閃indows的文件名中文編碼默認(rèn)為GBK,而Linux默認(rèn)的文件名為UTF8。在Linux中有個(gè)工具,convmv,可以對文件名進(jìn)行GBK和UTF的相互轉(zhuǎn)換。
用法:
Convmv –f 源編碼 –t 新編碼 [option] filename
安裝enca
下載相關(guān)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
【編輯推薦】