第一步,要讓你的 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 * you can also try http://ntu.csie.org/~piaip/utf8/irssi/recode.zip ---- 現在假定你已經裝了新版 (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, 詳細步驟請見其他文件 * 00:44 Some information on UTF-8 environment: * 00:44 http://wiki.rafan.org/doc/utf8irc * 00:44 http://wiki.rafan.org/doc/utf8note * 00:44 http://wiki.debian.org.tw/index.php/Unicode * 00:44 http://www.csie.ntu.edu.tw/~b88062/i18n/utf8term.html * 00:44 http://fractal.csie.org/~eric/utf8note/ * 00:44 http://blog.autrijus.org/archives/000025.html ---- Troubleshooting: 若 /upgrade 之後發生設定理論上正確卻看不到中文的情況,可試著檢查下列情況: - 確定沒有執行舊版 irssi 所用的 recode.pl 或類似性質的 script(用 /script 列出目前執行的 scripts) - 多 /upgrade 一次試試看