2007年2月28日 星期三

更改系統預設的locale

之前在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

1 則留言:

justfor1221 提到...

你好~
我按照你這篇文章
想說要轉換檔名
可是我下了那指令發現我沒有那指令
因為我沒有裝
所以
我下了
sudo apt-get install convmv
卻發現
讀取套件清單中... 完成
了解套件依存關係中
Reading state information... 完成
用『apt-get -f install』指令或許能修正這些問題。
下列的套件有無法滿足的依存關係:
python2.5: 依存關係: python2.5-minimal (= 2.5.1-0ubuntu1) 但是『2.5.1~rc1-0ubuntu3』卻將被安裝。
E: 無法滿足的相依關係。請嘗試不指定套件明成來執行“apt-get -f install”(或指>
定一個解決辦法)。
請問有無解決之道呢?

版主回覆:(06/07/2008 02:26:34 PM)


你要不要試著用aptitude來安裝看看呢?

dependency的問題實在是有點麻煩,用aptitude說不定可以解決