俺は未だにニュースリーダーに mnews を使ってるわけですが。
最近は開発環境が utf8 になりつつあるので、mnews も utf8 にするべきだろうってことで
だいぶ前から mnews with utf8 を使ってました。はい、使えてました。
ですが、今まで使ってた鯖は Windows にしちゃったので、別の鯖に mnews をインストールして
使おうと思ったんだが、なんかもう文字化けですよ。文字化け。
前はそんなに苦労しないでそのまま写った気がしたんだがなーと思いながらいろいろやってました
mnews 本体は適当に。俺は以下のサイトの IMAP パッチ (おまけ unicode) を使いたかったので PL6 を使いました。
http://www.doga.co.jp/~taka2/mnews/
パッチの当て方、コンパイルは以下な感じ。
% wget http://www.doga.co.jp/~taka2/mnews/mnews1.22PL6-imap4-20030207.tar.gz % tar zxvf mnews122PL6.tar.gz % cd mnews-1.22PL6 % patch -p1 < ../mnews1.22PL6-imap4-20030207.patch % cd build % nkf --overwrite -wE config.jsh # 文字コードが EUC だったので utf8 に。まあ config.sh 使えば % ./config.jsh # 環境に合う感じで質問に答えていく % make
コンパイルまではいくんですが、実行すると文字化けしてる。
しかし、記事自体を見ると文字化けしていないという。
ということはニュースグループを表示しているところが怪しいと考えていろいろ探してみる。
つーとありました。
kanjilib/kanjilib.c の euc_printf っていう関数内
#ifdef UNICODE case UTF8_CODE: str_to_utf8(buff2, buff1); break; #endif
他の文字コードだと、 euc_to_xxx ってなってるのに、ここだけそのままコピペしてる。
なので
#ifdef UNICODE case UTF8_CODE: //str_to_utf8(buff2, buff1) euc_to_utf8(buff2, buff1); break; #endif
ってすればおk。コンパイルして実行すると、見事に文字化けしないです。
んー、前の環境ではなんで大丈夫だったんだろう。
忘れてるだけで、同じ様に修正したんだろうか。
まあこのやり方が正しいかは知りませんが。動いたのでよし。
Thunderbird 使えとか言われるかもしれないけど、大学内ニュースだと
特定の数個だけではなく、たくさんの範囲まで見たい時があって、
その時にわざわざ一個ずつ指定していく Thunderbird はめんどくさいんですよね。
まあ最初の一回だけなんで別にって感じですかそうですか