MovableType 3.21-ja から MTOS 4.23 へアップグレードした環境での MailPack プラグイン(v1.6)の利用にて。
携帯から投稿したエントリーの日本語が化ける!!
ちなみに、PublishCharset が 'Shift_JIS' のサイトでの出来事である。
原因は、create.pm で変換後文字コードを決めるために PublishCharset を参照しているところ。
PublishCharset が 'Shift_JIS' と指定されていれば変換後コードを 'sjis' と指定するようになっているが、mt-config.cgi の中では 'shift_jis' と指定されているので(つまり 'Shift_JIS' とは違うので)、「その他の文字コード」という判断になり、Unicode(UTF-8)に変換されてしまうのである。
mt-config.cgi の記述を直すのが本道だとは思うが、その他のプラグインや MTOS では 'shift_jis' を正しく「シフトJIS の指定文字列」と認識しているようなので、MailPack でも 'shift_jis' を 'sjis' と判断するよう create.pm を修正した。
実は、MovableType 3.21-ja の mt-config.cgi を引き継いでいるのだが、この中で例として出ている Unicode の指定が 'utf-8' という具合に全部小文字なのだ。それを見てシフトJISの指定をしたので、'shift_jis' と全部小文字になっているわけだ。
(ちなみに、この 'utf-8' という指定も、create.pm の中では Unicode と認識してもらえず('UTF-8' と書かないと駄目)、「その他の文字コード」扱いになってしまうのだが、「その他の文字コード」の場合は変換後文字コードが Unicode なので、結果としてオッケーなのだ)
つーことで、create.pm 修正しちゃったので、開発元のサポート受けられないんだろうなあ。ま、あんまり必要ないけど・・・
コメントする