2012年9月25日 星期二

讓 Debian 同時支援兩種中文編碼 — UTF-8 和 BIG5

(05/06/2011)

當初建置伺服器的時候,選擇了 Debian,這是 Linux 界號稱更新最慢,但是也是最穩的版本。在這個伺服器之前,也裝過 Debian,但是當時選擇的中文語系是 zh_TW.BIG5,這次卻傻傻的選擇了 zh_TW.UTF-8,原因不外萬國碼即將一統江湖,而且 Debian 預設的中文編碼也是 zh_TW.UTF-8。
安裝完成之後,慢慢的測試所有網頁,發現”編碼”的問題還真麻煩;把幾個常見的問題網頁解決了之後,也就不理他了。最近又開始想修改一些網頁內容, 編碼所造成的不方便又浮現出來了。自己每天用的電腦是 Win7,其預設編碼是”類” BIG5,而伺服器卻是 UTF-8,檔案傳來傳去不方便,今天就一併把這個不方便降到最低,如果網友還有其他方式,也歡迎提供。
首先,讓 Debian 同時支援兩種編碼:在 /etc/locale.gen 中,除了包含 zh_TW.UTF-8 UTF-8 之外,還加上了 zh_TW.BIG5 BIG5,加完了之後,執行 locale-gen
在常用的 putty 上,設立兩種連線方式,一種是以 BIG5 顯示,另一種以 UTF-8 顯示。以 UTF-8 顯示的連線方式,登入後不必做任何修改;但是以 BIG5 顯示的連線方式,在登入後必須執行

export LC_ALL=zh_TW.BIG5
export LANG=zh_TW.BIG5

如此一來,需要編寫/編譯 BIG5 的網頁或者程式時,就以 BIG5 的連線方式連線;否則,就使用原來 UTF-8 的連線方式連線。

使用 vi/vim 編輯檔案的時候,由於 vi/vim 的預設檔案編碼方式是 latin1,所以編輯檔案時,在儲存之前要確定儲存的編碼方式是否正確。檢查檔案編碼方式,可以在 vi/vim 內輸入 :set fileencoding 來檢視目前的設定;若要改成 UTF-8,請輸入 :

set fileencoding=utf-8

指令;若要改成 BIG5,則輸入 :

set fileencoding=big5

指令。

2 則留言:

  1. Dear 老呂:

    謝謝您張貼的內容。

    在您文章中,有一個指令(locale-geb)應該是 locale-gen, 煩請您確認一下。

    -----
    Joey

    回覆刪除