1、 使用file命令來確定檔案編碼:
$ file -bi gbk.txt | sed -e 's/.*[ ]charset=//' |tr '[a-z]' '[a-z'
iso-8859-1
可見test.txt檔案編碼為iso-8859-1編碼。
2、 使用iconv -l確定iconv是否支援此種編碼的轉換:
$ iconv -l | grep iso-8859-1
iso-8859-1//
iso-8859-10//
iso-8859-11//
iso-8859-13//
iso-8859-14//
iso-8859-15//
iso-8859-16//
3、 確定linux/unix作業系統編碼:
$ echo $lang
zh_cn.utf-8
當前作業系統壞境編碼為"utf-8"
4、 轉換編碼
$ iconv -f iso-8859-1 -t utf-8 test.txt
測試注:由於file命令常常會誤判編碼,如發現轉換出來的編碼依然是亂碼,可將iconv -f的輸入編碼換成其他常用編碼試試: gbk、big5、hz、gb2312、gb18030、ascii
iconv命令的詳細語法:
iconv [選項..] 檔案
選項:-f 輸入編碼
-t 輸出編碼
-l 列出所有已知的編碼
-o 輸出檔案
附錄字元編碼表:
編碼集:
iso-8859-2
iso 8859-2 standard; iso latin 2
iso-8859-4
iso 8859-4 standard; latin 4
iso-8859-5
iso 8859-5 standard; iso cyrillic
iso-8859-13
iso 8859-13 standard; iso baltic; latin 7
iso-8859-16
iso 8859-16 standard
cp1125
cp1250
ms-windows code page 1250
cp1251
ms-windows code page 1251
cp1257
ms-windows code page 1257; winbaltrim
ibm852
ibm/ms code page 852; pc (dos) latin 2
ibm855
ibm/ms code page 855
ibm775
ibm/ms code page 775
ibm866
ibm/ms code page 866
baltic
iso-ir-179; baltic
keybcs2
kamenicky encoding; keybcs2
macce
macintosh central european
maccyr
macintosh cyrillic
ecma-113
ecma cyrillic; ecma-113
koi-8_cs_2
koi8-cs2 code ('t602')
koi8-r
koi8-r cyrillic
koi8-u
koi8-u cyrillic
koi8-uni
koi8-unified cyrillic
tex(la)tex control sequences
ucs-2
universal character set 2 bytes; ucs-2; bmp
ucs-4
universal character set 4 bytes; ucs-4; iso-10646
utf-7
universal transformation format 7 bits; utf-7
utf-8
universal transformation format 8 bits; utf-8
cork
cork encoding; t1
gbksimplified chinese national standard; gb2312
big5
traditional chinese industrial standard; big5
hzhz encoded gb2312
行結束符:
/lflf line terminators
/crlf
crlf line terminators
n.a.
mixed line terminators
n.a.
surrounded by/intermixed with non-text data
/21byte order reversed in pairs (1,2 -> 2,1)
/4321
byte order reversed in quadruples (1,2,3,4 -> 4,3,2,1)
n.a.
both little and big endian chunks, concatenated
/qpquoted-printable encoded
各國語言編碼集:
bulgarian
cp1251 iso-8859-5 ibm855 maccyr ecma-113
czech
iso-8859-2 cp1250 ibm852 keybcs2 macce koi-8_cs_2 cork
estonian
iso-8859-4 cp1257 ibm775 iso-8859-13 macce baltic
croatian
cp1250 iso-8859-2 ibm852 macce cork
hungarian
iso-8859-2 cp1250 ibm852 macce cork
lithuanian
cp1257 iso-8859-4 ibm775 iso-8859-13 macce baltic
latvian
cp1257 iso-8859-4 ibm775 iso-8859-13 macce baltic
polish
iso-8859-2 cp1250 ibm852 macce iso-8859-13 iso-8859-16 baltic cork
russian
koi8-r cp1251 iso-8859-5 ibm866 maccyr
slovak
cp1250 iso-8859-2 ibm852 keybcs2 macce koi-8_cs_2 cork
slovene
iso-8859-2 cp1250 ibm852 macce cork
ukrainian
cp1251 ibm855 iso-8859-5 cp1125 koi8-u maccyr
chinese
gbk big5 hz
Linux檢視檔案編碼格式及檔案編碼
如果你需要在 linux 中操作windows下的檔案,那麼你可能會經常遇到檔案編碼轉換的問題。windows中預設的檔案格式是gbk gb2312 而linux一般都是utf 8。下面介紹一下,在linux中如何檢視檔案的編碼及如何進行對檔案進行編碼轉換。檢視檔案編碼 在linux中檢視檔案編碼可...
Linux檢視檔案編碼格式及檔案編碼轉換
如果你需要在linux 中操作windows下的檔案 那麼你可能會經常遇到檔案 編碼 轉換的問題。windows中預設的檔案 格式是gbk gb2312 而linux 一般都是utf 8。下面介紹一下,在linux 中如何檢視 檔案 的編碼 及如何進行對檔案 進行編碼 轉換。檢視 檔案 編碼 在li...
Linux檢視檔案編碼格式及檔案編碼轉換
如果你需要在linux 中操作windows下的檔案,那麼你可能會經常遇到檔案編碼轉換的問題。windows中預設的檔案格式是gbk gb2312 而linux一般都是utf 8。下面介紹一下,在linux中如何檢視檔案的編碼及如何進行對檔案進行編碼轉換。檢視檔案編碼 在linux中檢視檔案編碼可以...