ご無沙汰のエントリーはたぶんあまり需要のないネタです。
未だに自宅ではircを眺めるのにMayuki Sawatari氏作のIrcvを使用しているのですが、IrcvはircサーバーとのやりとりにJISコードのみが流れることを想定しており、freenodeなどのUTF-8だと文字化けしてしまうのを何とかしてみよう、というものです。
※もっともtiarraを使用してUTF-8からJISに変換すればよいのですが、我が家ではこの機会にすべてUTF-8にしてしまったので(汗)
とはいえIrcvはC#で書かれており、そもそも内部のエンコーディングにはUTF-8が使用されているので、単にJISコードへの変換部分を取っ払ってしまえばよい、ということになります。
具体的には、IRCClient.csの155行目と156行目、
_sr = new StreamReader(_nstream, Encoding.GetEncoding(“ISO-2022-JP”));
_sw = new StreamWriter(_nstream, Encoding.GetEncoding(“ISO-2022-JP”));
と書かれている部分を、
_sr = new StreamReader(_nstream);
_sw = new StreamWriter(_nstream);
のようにしてしまえばよいわけです。
これだと結局UTF-8決めうちで美しくないじゃん、という方もいらっしゃると思いますが、その場合はConfiguration.csやircv.csにも追加で書き加えて、環境設定ファイルから文字コード指定を読み込み、それをIRCClientのインスタンスに渡して設定させる…というコードにすればよいでしょう。(全部いじっても全部で15行程度追加するくらいでいけます)