MTの出力文字コードを手軽に変更するプラグイン(TransEncoding)
MovableType4.2をいまだ使っている私です。
これまで、文字コードをUTF-8に統一して利用していましたが、ワケあってShift-JISでファイルを出力する必要にせまられました。
しかし、単純に出力文字コードを変更するだけとはいえ、データベースの設定やらmt-config.cgiやらテンプレートやらと色々変更しなければいけないのはあまりにめんどうで、UTF-8と共通して管理する部分などでは保守性に問題も出そうです。
これを簡単に、かつ保守性を保ったまま実現する方法はないものかと探していましたら、よいプラグインがありました。
TransEncoding というプラグインです。
ただ、少し落とし穴もありましたので、合わせてご紹介しておきます。
TransEncoding のダウンロードと設定は、作者様のサイトを見ていただくのが確実かと思います。
さて、では落とし穴は何かといいますと、実は、このプラグインではMETAタグの文字コード指定部分も書き換えてくれるようなのですが、その際にダブルクォテーションの閉じる部分をけしてしまうバグがあるのです。
こういうソースが、
<meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" />
↓ こうなります。
<meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS />
MTの設定を他にも一気に変えた後だったので、しばらく、なぜこうなるのか悩んでいました。
これを解決するには、TransEncoding.pl の 42行目 を以下のように修正します。
(修正前)$$html =~ s/charset=\S+/charset=$ENCODING_NAME/;
↓
(修正後)$$html =~ s/charset=[^\s">]+/charset=$ENCODING_NAME/;
情報はコチラを参考にさせていただきました。
ありがとうございました。
タグ
2010年1月21日|コメント (0)|トラックバック (0)
カテゴリー:MovableType
トラックバック(0)
http://web-gijyutu.com/tools/mtos42/mt-tb.cgi/4
コメントを投稿する
(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)


