Debian 終端機 telnet 中文亂碼問題

目前常見的繁體中文編碼有Big5 和 utf-8 兩種。

其中Big5因為是較早期的編碼而有著名的 "許功蓋" 問題。

(這三個字無法正常顯示,而要另行處理的情形,算是一種編碼上的Bug。可參考http://zh.wikipedia.org/wiki/%E5%A4%A7%E4%BA%94%E7%A2%BC)

但也因為早期的關係而使得使用的人也多,像是著名的Ptt.cc就是預設用Big5碼。

不過通常新版的Debian繁體中文的預設編碼都是utf-8了。

而在 Debian 底下雖然有 pcmanX 可以正常的上 ptt , 但是有時候也會想要直接用 telnet 去連。

於是就出現亂碼了...

不過 Linux 底下有神奇的 luit 的指令可以拿來臨時轉換編碼:

luti -encoding big5 telnet ptt.cc

這樣就可以讓讓 telnet 所顯示的所有訊息都從Big5 編碼轉換成環境預設的編碼。

如果不知道系統有安裝哪些編碼的話,可以用locale -a 這個指令來查看。

如果沒有你要的編碼字集的話,就去修改/etc/locale.gen這個檔。

進去裡面把要增加的編碼字集(ex: zh_TW Big5)前面的 # 給去掉,存檔之後sudo locale-gen 。

然後locale -a 就會看到你要的字集了。

而單單執行 locale 的話,則是會顯示你目前系統的預設狀況。

想改變系統預設狀況的話,就用export LC_ALL=zh_TW.Big5

留言

熱門文章