blosxom という
スクリプトは、ブログサイトを構築するために用いられるものでありながら、
その本体に実装されている機能は、貧弱と言っていいほどシンプルなものであって、
ブログサイトで当たり前のトラックバックの送受信、コメント機能なども、
プラグインを追加しなければ実現することができません。
しかし、このトラックバックの受信、コメント機能を付加するための
プラグインはいくつも公開されており、
また blosxom
ユーザによっては、各自で改良したものをお使いになっている方も多いようです。
当ブログ では、
トラックバックの受信/コメント機能付加のために
Nest of Snowy Owls 製の
writebackplus
プラグイン を使用していますが、慢性的な文字化けに悩まされています(
#1/
#2 )。
この原因を究明するために、現状使っているものと
bsk を公開されている
こともありユーザ数も非常に多いと思われる
hail2u.net 製の
writeback プラグイン
のソースコードを、結構気合いを入れて読みました。
結論的には
Nest of Snowy Owls 製の
writebackplus
プラグイン が、
文字コードとして EUC を前提として作成されていることに、
文字化けの原因があるのではないかと思い始めました。
現在使用している
Nest of Snowy Owls 製の
writebackplus
プラグイン は UTF-8 で使用しようとすると、
最終的にトラックバックやコメントをページに表示するまでに
最低三~四回文字コードの変換処理を行います。
文字列処理のアルゴリズム自体が EUC で処理されているので、
これ以外の文字コードで運用すると、(おそらく文字化けの原因になっていると思われる)
文字コード変換処理を複数回行うことは避けて通れません。
素直(?)に hail2u.net 製の
writeback プラグイン に
乗り換えようかとも思ったのですが、これまでのライトバックが記録されたデータと互換性がない
( date フィールドの記録形式が違う)ため、思いとどまりました。
どうするかどうするかと悩みましたが、
ここまで来たら一発自分でコードを書き直すか!と考え始めてしまいました。
-----
長くなりそうなので今回はここまで次回に続く…
Posted on Mar 28, 2006 at 22:32