Movable Typeを3.2-ja-2にアップグレードしてみた。ところが、MTAmazonの具合が悪く、これを利用したページは激しく化ける。
対策を調べていたら、mt-sukeroku2が リリースされていて これがネイティブでAmazon Web Serviceに対応していることが分かったので、こちらを試してみた。
XREAの広報によれば、環境はこんな感じだそうだ。
試してみたのだけれど、でもやっぱり化ける。ところが、ファイルにダンプしてやるとエンコーディングは正しいように見える。処理過程ではUTF-8で、最終的な出力段階で設定に基づいたエンコーディングに変換される。
出力段階での文字コード変換がなんか妙なことをしている。多分、Perlが内部に保持しているエンコーディングデータと実際に文字列に施されているエンコーディングがずれているんだろう。それをリセットすれば正常に変換されるようになるに違いない、ということで、Text::Sukeroku::Amazon::Itemの中で、AWSから取得したデータを一度unpackしてからpackして戻してやったら化けなくなった。
これは対症療法であって、そもそも誰がエンコーディングに妙な真似をしてくれたのかは不明。そのうち時間があったら調査してみる。