2008-07-06
# tDiary移行作業、いわゆるutf8化
tDiaryをutf8対応の最新版にしてみた。大がかりな移行作業なので、スクリプトファイルその他は上書きではなく新規ディレクトリに設置して動かすことにした。データもオリジナルをコピーして使用することに。
初っ端の現象。
Plugin Error Errors in plugins? Retry to Update or Configure. TDiary::PluginError Plugin error in '50sp.rb'. undefined method `[]' for nil:NilClass (plugin/50sp.rb):94:in `load_plugin'
によるとnavi_user.rbプラグインを有効にしているとエラーになるらしい。使っていないので無効にして解決。じゃあ最初から有効にしなければいいのではと云うツッコミはなしね。
そうしたら、日記が表示されるが、どうやらtdiary.conf(自動生成されるほう)の日本語が変換されていないらしく、文字化けしている。ちまちま設定画面から修正したのだけれど、他にcleverな方法があるはず。調査不足が露呈してしまった。
他にはカテゴリインデックスを初期化しないと文字化けしたまま。まぁ、こちらは当然と云えば当然かな。カテゴリのボタンラベルの日本語も文字化けしているので、こちらも設定画面から直す。
後は普通に動いているみたい。 とりあえず報告まで。
# utf8にしたかった本当の理由
tDiaryとUbuntuのOperaに関するレアなお話。
UbuntuのOpera 9系列から、いわゆる波ダッシュ(〜)を含む文字列を投稿すると、波ダッシュの文字だけ実体参照(#12316;)で表示されてしまうという問題があった。なお、Firefox 3では正常に表示される。OperaとのUTF-8とtDiaryあるいはRubyのEUC-JPと変換がうまくいかない、つまり相性が悪いのではないかと想像している。同じQTアプリのKonquerorは正常に表示してくれるので、QTとか関係なさそう。Opera@UbuntuとRubyの限られた組み合わせで起きるのかもしれない。tDairy以外のRubyで構築されたEUC-JPサイトに投稿することがあまりないため、これ以上深入りはしないでおく。ちなみに、Perlなはてなは大丈夫だった。
ともあれ、tDiaryをUTF-8化すると、波ダッシュも正常に投稿できるようになった。予想した透りの動作。ふふふ。

>そうしたら、日記が表示されるが、どうやらtdiary.conf(自動生成されるほう)の日本語が変換されていないらしく、文字化けしている。<br>これ、おそらく変換は完了しているのですが、最初の一回目は文字化けしてしまうという仕様(不具合)だと思います。<br>既に解決済みなのですが、やはり混乱の元ですよね…。
テスト用日記で実験しましたが何度再ロードしても文字化けに変化ありません。tdiary.confのversionは適切なので謎です。