iconv - 轉換檔案編碼
不知大家是否有注意到安裝 Linux 時有個選擇語系及編碼的步驟?個人習慣使用 en_US.UTF-8 或 zh_TW.UTF-8 編碼;台灣區的 Windows XP 預設為 BIG5,而 Windows 7 則是 UTF-8。
每當有 BIG5 檔案丟近 Linux 時,其內文有中文時都會變成亂碼,例如「¥¿×¬ì§Þ¤j¾Ç」,但正常應該要顯示「正修科技大學」才對!相信透過 iconv 指令大家都能順利地找回中文。
1.1. BIG5 To UTF-8。
1.2. UTF-8 To BIG5。
1.3. UTF8 To GB2312。
在使用 iconv 轉換文件的編碼時,如看到「iconv: illegal input sequence at position」錯誤訊息時,就代表您的編碼庫不用新,無法正確轉換,建議使用較新的版本。
# 使用此指令時請千萬小心,別把原始檔給覆蓋掉!相信大家都不會想重蹈凍仁的覆轍,最後凍仁要說的是減重第三週的成績只有 0.2kg,看來真的一點都不能鬆懈呢。
每當有 BIG5 檔案丟近 Linux 時,其內文有中文時都會變成亂碼,例如「¥¿×¬ì§Þ¤j¾Ç」,但正常應該要顯示「正修科技大學」才對!相信透過 iconv 指令大家都能順利地找回中文。
1. 檔案編碼轉換
1.1. BIG5 To UTF-8。
jonny@precise:~$ iconv -f big5 -t utf-8 big5.txt -o utf8.txt [Enter]
1.2. UTF-8 To BIG5。
jonny@precise:~$ iconv -f utf-8 -t big5 utf8.txt -o big5.txt [Enter]
1.3. UTF8 To GB2312。
jonny@precise:~$ iconv -f utf-8 -t gb2312 utf8.txt -o gb2312.txt [Enter]
2. 錯誤訊息: illegal input sequence at position」
在使用 iconv 轉換文件的編碼時,如看到「iconv: illegal input sequence at position」錯誤訊息時,就代表您的編碼庫不用新,無法正確轉換,
3. 察看 iconv 版本
jonny@precise:~$ iconv -V [Enter]
iconv (Ubuntu EGLIBC 2.15-0ubuntu6) 2.15
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Ulrich Drepper.
# 使用此指令時請千萬小心,別把原始檔給覆蓋掉!
延伸閱讀:
★BIG5 - Max 的宅空間
資料來源:
★Ching Wei: 【系統】Linux : BIG-5 與 UTF-8 檔案轉換
★鳥哥的 Linux 私房菜 -- vim 程式編輯器
★Linux 字符集轉換工具:iconv - 北漂小石
...用Kate文字編輯器打開在另存新檔也能解決,Kate支援自動偵測BIG5檔案編碼
回覆刪除補上 GEdit 的文章 - [Ubuntu]解決gedit中文亂碼問題 | 電腦不難。
刪除但話說回來更改 editor 是個作法沒錯,但對凍仁而言是治標而不是治本啊!總不能每次都用 gedit, kate 這類 editor 來編輯 Server 上的檔案,editor 基本上凍仁還是 vi 為主。
如果您哪天要管到數十台 Linux Server 就不會想依賴 GUI 了 :P
刪除iconv: illegal input sequence at position
回覆刪除如果出現這行可以試試看用 -sc 參數
iconv -sc -f utf-8 -t gb2312 utf8.txt -o gb2312.txt