閉じる

MovableTypeとプラグインと文字コード

MT4にて「指定したテキストファイルを加工して挿入する」プラグインを書いた。
MT5に移行したところ、テキストファイルに含まれる日本語が化けるようになった。
プラグインは内部でネイティブなプログラムを呼び出しており、そのプログラムは UTF-8でエンコードされたテキストを出力するようになっている。
悩んでは放置をしばらく繰り返した末、答えに行き着いた。
「プログラムの出力は UTF-8になっているけど、perlの内部表現としての UTF-8にはなっていなかった」という理由。
所謂「utf8フラグ」の問題で、プログラムの出力をそのまま使うのではなく Encode::decode_utf8()に食わせた結果を使うようにしたらあっさりと解決した。
MovableTypeやそのプラグインの問題ではないので「MovableType プラグイン 文字化け」等のキーワードで検索しても情報がなかったのも道理。

2014/03/16追記

MT6へ移行したところまたしても文字化けするように。*1
再び悩んでは放置を繰り返した末、utf8プラグマを記述するという答えに行き着いた。


*1 OSを入れ替えたタイミングでもあるので MTのバージョン差でなく Perlのバージョン差という可能性も。

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)