このブログの文字コードを「utf-8」にしたにも関わらず、トップページである種のプラグインを使った表示にすると「?」という文字が「〓」になってしまう件について。
いろいろ悩んだあげく、こちらのプラグインを導入することで無事解決。
Ogawa::MemorandaさんのEncode.pm版lib/MT/I18N.pm
たとえば概要表示などで「文頭から指定した文字数を取り出す」ようなことを実現する場合、substr関数を使うわけだけれど、
日本語版Windows(CP932)で「?」を入力したとき、この文字はFULLWIDTH TILDE(U+FF5E, EFBD9E)として扱われますが、このコードに対応するEUC-JPのコードは存在しません。したがって「?」を含む文字列をJcodeを使ってsubstrしようとすると、EUC-JPに変換した時点「?」がstripされてしまい、substr後の文字列が不正確なものにものになってしまいます。
ということなのだそうだ。
文字列の取り扱いの際、文字コードの変換にJcode.pmではなくてEncode.pmを使うことで文字化けを防ごうというもの。