第一步,要讓你的 IRC client 能處理 utf-8 與轉碼。這裡我們以 irssi 為例,其它請自行解決。
你有兩個選擇: 用有 perl 能力的舊版(⇐0.8.9),或是裝新版(>=0.8.10)。
比較簡單(也比較好)的選擇是裝新版:
對 ntucsie 系上的人, bsd*.csie 已經是了,請跳到下一段
自己可以裝的 FreeBSD, 請裝好 /usr/ports/devel/glib20/ 後裝 /usr/ports/irc/irssi-devel/ .(沒裝好 glib20 的話,會不能轉碼)
非 FreeBSD 請自行去抓 irssi 0.8.10 rc5 以後的版本
若要用 0.8.9, 請確定你的 irssi 有編進 perl 後找小光或 gugod/piaip 拿 recode.pl
現在假定你已經裝了新版 (recode.pl 直接從檔案設,不用管這段)
對大部分的人(用 big5, 只想讓 irc 能轉 utf8) 我們推薦的設法是:
若你正在執行 irssi, 先 /upgrade
/set term_charset big5
/set recode_fallback big5
/set recode_out_default_charset big5
/recode add #ntucsie big5
/save
由於 irssi 有 internal buffer, 所以此時若你有與 term_charset 不同的 channel 請先再 /upgrade 一次或重跑 irssi。如果你搞不清楚或遇到顯示有問題,也先再 /upgrade 或重跑 irssi 一次 (close all channel, rejoin)。
等到 8/1 大家一起換 UTF8 時, 執行:
/recode add #ntucsie utf-8
/save
也就是說, 你可以用 /recode add #channel encoding 來回切換.
若省略 #channel 則表示設定目前頻道(窗)的 encoding, 如 /recode add utf-8
注意 utf8 是不行的,要叫 utf-8
列出目前所有設定用 /recode
若要測試的話, 可以到 #ntucsie8 試試.
你若想讓 irssi 整個跑在 utf8, 則 /set term_charset utf-8
若你是用其他版本的 irssi, 或想讓整個環境變 utf8, 詳細步驟請見其他文件
Troubleshooting:
若 /upgrade 之後發生設定理論上正確卻看不到中文的情況,可試著檢查下列情況:
確定沒有執行舊版 irssi 所用的 recode.pl 或類似性質的 script(用 /script 列出目前執行的 scripts)
多 /upgrade 一次試試看