Ubuntu 檔名亂碼及認識 Locale
一、認識Locale
所謂Locale是設定國家,語系,單位,日期、貨幣的環境設定設定檔,所以Ubuntu會依據Locale環境檔上設定的國家和語言及語言編碼去把操作環境改成你熟悉的語言。例如
zh_TW.UTF-8 表示 繁體中文 台灣 UTF-8編碼
zh_TW.Big5 表示 繁體中文 台灣 Big5編碼
zh_CN.UTF-8 表示 簡體中文 中國 UTF-8編碼
zh_CN.GB2312 表示 簡體中文 中國 GB2312編碼
en_US.UTF-8 代表 英文 美國 UTF-8編碼
二、設定Locale
當我們安裝Ubuntu作業系統會設定語系,但它的預設是採UTF-8編碼。1.查詢已安裝的語系
從終端機輸入locale -a 查看,得知c及POSIX是系統預設的,en_US.UTF-8,是英文 美國 語言編碼是UTF-8,不符合訊大的需求,訊的需求是zh_TW.Big5 (繁體中文 台灣 Big5編碼),所以還要進一步的設定。
$ locale -a
c
en_US.UTF-8
POSIX
圖二
2.查詢目前的語系設定
輸入locale查看得知全部都是en_US.UTF-8,這讓我們更加確定這台作業系統並不是訊大想要操作環境。順便也挑幾個重點解釋一下
- LC_CTYPE 這會影響字元的分類和轉換,若要能輸入中文,就是設定這裡
- LC_TIME 這就是日期和時間的顯示格式囉
- LC_MONETARY 這會影響貨幣單位的符號和表示
- LC_MESSAGES 這會影響系統訊息的顯示,若想要顯示中文,就是設定這裡
- LANG 這是預設,如果上面有沒設定的,就會用這裡的設定
- LC_ALL 這是強制全部使用這裡的設定,如果這裡設定了,那麼上面的都沒用,全部以這裡的為準
3.產生語系檔案
由之前查詢已安裝的語系中,並沒有安裝zh_TW.Big5語言檔,所以現在可用locale-gen這個指令來產生。由於Big5是zh_TW的預設編碼,所以下指令時不需要寫成zh_TW.Big5
4.語系更改
在語系修改之前,我們先談論一個問題就是為什麼從Windows作業系統copy過來的檔名會亂碼,從Ubutnu作業系統把檔案上傳到FTP-Server會檔名會亂,問題的所在都是語言編碼所造成,Windows作業系統採BIG5編碼Ubuntu採UTF-8編碼,兩者不一致當然產生亂碼,以下就來語系更改。把LANG欄位填入"zh_TW.BIG5"如:LANG="zh_TW.BIG5"。然後按esc後輸入:wq儲檔
$sudo vim /etc/default/locale
LANG="zh_TW.BIG5"
5.參考[Ubuntu] 如何設定語系locale