本篇介紹如何在 Mac OS X 或 Linux 中使用 iconv 指令轉換 Big5 與 UTF8 等文字編碼,解決開啟文字檔產生亂碼的問題。

有時候使用一般的編輯器開啟文字檔(*.txt*.html 等)時,如果文字的編碼不正確,就會出現一大堆亂碼。


iconv-convert-text-big5-between-utf8-encoding-1

Vim 開啟不正確的編碼文字檔

在 Mac OS X 或 Linux 系統上,我們可以使用 iconv 指令來處理各種文字編碼的問題,在 Mac OS X 與大部份的 Linux 系統上內建就有這個指令,不需要安裝,使用方式也都相同。

BIG-5 轉 UTF-8

若要將一個文字檔從 BIG-5 編碼轉換為 UTF-8 編碼,可以執行:

iconv -f BIG-5 -t UTF-8 big5.txt > utf8.txt

其中 big5.txt 是輸入的文字檔檔名,轉換出來會輸出到 utf8.txt 這個檔案中。

-f 參數是指定輸入檔的編碼,而 -t 則是指定輸出檔的編碼,我們可以使用 -l 參數查詢 iconv 所支援的編碼列表:

iconv -l

UTF-8 轉 BIG-5

若要將 UTF-8 編碼的文字檔轉為 BIG-5,則執行:

iconv -f UTF-8 -t BIG-5 utf8.txt > big5.txt

經過 iconv 轉換成正確的編碼之後,就可以正常顯示文字檔的內容了。

iconv-convert-text-big5-between-utf8-encoding-2

Vim 開啟文字檔

目前大部份比較新的系統或是應用程式應該都會採用 UTF-8 的方式編碼,而一些比較舊的系統可能還是會沿用以往舊式的 BIG-5,基本上不管要怎麼轉換編碼,通常都可以使用 iconv 來處理。