2007-09-03

[Encoding]打造 UTF-8 環境


Server 端環境:


  • OS : Linux CentOS 4.5

  • Shell : bash-3.00.15

  • Editor : vim 6.3.82

  • Web Server : apache 2.2.4

  • Perl : 5.8.8

  • screen : 4.00.03 (FAU) 23-Oct-06

  • fortune : mod 9708

  • iconv : 2.6.4


Client 端環境:


  • OS : Windows XP SP2

  • Browser : Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6

  • SSH Client : PuTTY Development snapshot 2007-09-03: r7685



Shell 設定:其實 CentOS / RedHat 本身就已經將 Default Encoding 設定為 UTF-8,不過,如果有人喜歡看到中文的訊息的話,可以把 LANG 設定改一下。


export LANG=zh_TW.UTF-8

重點在於,LC_CTYPE 設定如果跟 LANG 一樣都有 UTF-8 這個字眼的話,可以不用改,如果不一樣,可以不要去動 LANG ,只需要將 LC_CTYPE 修改成 zh_TW.UTF-8 就可以了。

export LANG=zh_TW.Big5
export LC_CTYPE=zh_TW.UTF-8


screen 的設定:
原本的參考資料來源為 yjchou,不過已經找不到原出處了,所以就不引用了。直接貼我的設定檔。


defutf8 on
defencoding utf8


Fortune 的中文 Cookie 有「唐詩三百首」、「易經」等等,可是原本的 Encoding 都是「Big5」,所以我們要透過 iconv 來將原來的 fortune cookie 轉換編碼為 UTF-8。


# cd /usr/share/game/fortune
# iconv -f BIG-5 -t UTF-8 -o yijing.u8 yijing
# iconv -f BIG-5 -t UTF-8 -o tangshi.u8 tangshi
# strfile yijing.u8
# strfile tangshi.u8

這樣下次你再使用 fortune yijing.u8 就會變成 UTF-8 編碼了。


vim 上自動切換編碼的設定,如果設定不正確,顯示與輸入都會不對,或者是只能看,卻不能修改,有時候覺得很令人討厭,所以在 /etc/vimrc 上面的設定要加入這幾行修正。


if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set bomb
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,ucs-2,ucs-le,big5,sjis,ascii,latin1
endif


再來就是講到 Windows 上 PuTTY 的設定了,因為 Windows 上本來的編碼就是unicode,所以,需要修改的地方並不多。首先,先要到 Window --> Appearance --> Font Settings 選一個自己喜歡的字型,可是最好是要有 CHINESE_BIG5 這個選項的字型,免得有些字會顯示不出來。再來就是到 Window --> Translation --> Character set translation assume to be in which character set 設定為 UTF-8,然後將 Treat CJK ambiguous characters as wide打勾,然後存檔這樣就可以了。

沒有留言: