之前在dspic這台主機上面的資料都是big5的,可是現在主流的encoding卻是UTF-8,所以我必須將這些檔案都改為UTF-8才可以。

要改編碼之前必須先修改locale,locale的設定檔在/etc/locale.gen,要修改為

en_US ISO-8859-1
zh_TW BIG5
zh_TW.UTF-8 UTF-8

然後再輸入locale-gen,這樣子就會幫你產生這些編碼的檔案。

接下來要修改環境變數,因為之前是用Big5的方式,所以現在要修改家目錄的.bashrc,在檔案的最下面增加兩行

export LC_CTYPE=zh_TW.UTF-8
export LC_MESSAGES=zh_TW.UTF-8

如此以後登入主機就會變成UTF-8的編碼了。不過到此為止只是確保以後所產生的檔案均為UTF-8,可是以前的檔名卻還是Big5編碼,我們必須使用convmv這個程式幫忙轉碼。

convmv -f big5-eten -t utf8 -r --notest /家目錄

-f big5-eten這行是原來的編碼
-t utf8這行是要轉換的編碼
-r是使用遞迴(recursive)的方式做轉換
--notest直接做編碼轉換,如果沒加這個參數就不會做編碼的轉換

再來要做檔案內容的編碼轉換,我們要使用iconv來做內容轉換

iconv -f big5 -t utf-8 來源檔 -o 目的檔

-f big5原來的編碼
-t utf-8要轉換成的編碼

這個動作完成之後,以後就可以使用純unicode的環境了。

參考資料:
[2007-02-12] 設定或修改 locale
Debian Chinese Linux Locale
Unicode From DebianWiki

kewang 發表在 痞客邦 留言(2) 人氣()