[blosxom]コメント欄での文字化けについて
以前からコメント欄の書き込みで一部文字化けが起こることは知っていたのだけれど、長い間放置したままだった。今日はそのことを突然思い出したので、少し調べることにしてみた。具体的にこのサイトのウェブログで起きた文字化けとしては、「~(波線、波文字、全角チルダ)」の例があった。比較的頻繁に使う記号なところがこれまた面倒くさい。
「perl、utf-8、unicode、波線、波文字、文字化け」などの関連語を組み合わせていろいろ検索して調べてみると、どうやらやはりperlの内部での変換に難があるらしいことが分かってきた。実は自分がこのウェブログで使っているBlosxomというシステムの中で、特にコメント関係を扱うWritebackというプラグインがどういう文字コード処理をしているのかを僕は把握していないのだけれど、恐らくJcode.pmかEncodeなどそれ系の処理をしているはずだと思っている。で、これらの文字処理システムについて、波線が文字化けする現象が起きていることはいろいろなサイトで指摘されていた。どうも何が起こっているのかいまいち把握できないのだけれど、Wikipediaの全角チルダの項で書かれているように、Shift_JISでこれらの文字の区別が無かったことが原因で、JcodeやEncodeでのUnicode処理にこれらの問題が考慮されていなかったのかもしれない。(あまり理解していない人間が分かったように書くのは良くないかも…)
自分が今使っているXREAのサポートシステムでも、Blosxom界の大御所(←何じゃそりゃ)「hail2u.net」の人がおととしの時点でアップグレード要望を出していて、その書き込みから既にJcodeのバージョン0.83以降ではこのバグが解消されているらしいことが分かった。もしかして僕の使ってるサーバはJcodeがアップグレードされてないとか? それだったら要望を出したらすんなり解決するかも!と思って早速「My Memoz - Jcode.pm」というところからModule Checkerというのをコピーし、自分の使っているXREAのサーバに対して試してみた。結果を見ると、Jcodeのバージョンは既に0.88となっていた。これなら波線のバグは解消されているはずだけど…?と疑問に思ったが、僕自身にはどうにも対処のしようがない。次に何を調査するべきか思いつかない。もしかしたら、ブラウザの時点での挙動の問題があるかもしれないけれど…そんなわけないか? お手上げ。
ところで、hail2u.netさんのところの記事「Customize writeback plugin #9」で取り上げられているように、コメント投稿後の画面で再読込み(リロード、etc.)をすると二重投稿が起きてしまうという問題もあったが、これは注意の呼びかけで対応した。同じように今のような波線が使えない状況でも「波線を使わないで下さい」と呼びかければどうにかなると言えばなるけれど、しかしそれもまた失礼な気がする。対策を考え中。どうやら実体参照は~らしいので、コメント送信前にJavaScriptか何かで波線を~に変換してしまっておいて入力内容を送信させるべきか…? アンパサンドの変換を回避しなきゃいけないのも面倒くさそうだが…。
(追記2006-09-09 いちおう解決した。「波線(波ダッシュ)の文字化けが解決!」を参照のこと。
(当ブログ "web :: blog system" カテゴリ 内の記事です)
この記事へのWritebackはありません。