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