文字化け

とある環境に MovableType 2.64 をインストールしているのだがどうしても管理画面だけ文字化けが直らない。うーむ、いろいろ日本語関連(特に UTF-8 の取り扱い)で問題があるっぽいことだけはわかったんだけど、なぜだか一向に解決しない。

- MovableType 2.64
- 日本語パッチ(UTF-8版)
- PostgreSQL 7.3.2
- Perl 5.8.0

この状態でエントリ新規追加は可。Publish も可。
しかし編集画面でタイトル、本文など日本語が入力されている箇所にこんな文字化け発生。
「まぁぁぁぁぁ。」

誰か情報求む。
一瞬 Perl 5.8 と Jcode の組み合わせが怪しいのかと思い、Encode で書き直すかとか思ったけど、もう眠いのまた明日。

コメント(6)

Jcodeの最新版は不具合があるとかいう情報あります。
既出だったらスマソ

む、もしかしたら管理ページのエンコーディング指定が間違ってるとか?

mt.cfg 内の PublishCharset だったと思うけど、これを UTF-8 にしないとダメだよ。

あとは、Jcode って書いてるから大丈夫だと思うけど、jcode.pl は UTF-8 に対応してないんで Jcode.pm を入れないといけないんで確かめてみて。

トザキさん、いなみ、情報アリガトウさんです。

>トザキさん
Jcode のバージョンの件、確認してみました。
0.83 がすでにインストールされていたので、0.82 をextlib へ配置(mt-check.cgi で使用されるバージョンは 0.82 と確認済み)。
元ネタ: http://rebecca.ac/milano/mt/readme/jcode.html

だけどダメ。がっくし。


>イナミ
PublishCharset は UTF-8 で管理画面の HTML も問題なし。
うーむ。

文字化けしている状態でsaveすると、文字化けした状態のエントリーになるのでしょうか?

すっかり返事を忘れてました。

> 文字化けしている状態でsaveすると、文字化けした状態のエントリーになるのでしょうか?

はい、そうです。
たまーに調べようとか思って Google で「Perl 5.8 MovableType 文字化け」とか入れてみたら、このエントリがトップになっちまいやがった...
何がなんだか。
http://www.google.com/search?num=50&hl=ja&q=Perl%205.8%20MovableType%20文字化け

perl-5.8.0, Jcode-0.83, MT-2.65-full-lib, RedHat8.0 で同様でした。
格納後のDBの中身までくしゃくしゃでした。
lib/MT/Util.pm encode_html{}中、250行目の "HTML::Entities:encode_entities()" を通るとそうなるようでしたので、コメントアウトしてelse以下を通るようにしたら、とりあえず日本語として読める文字が表示されるようになりました。
decode_html{}側も同じようにしておくとよいかもしれません。
今思えば、243行目を "my $Have_Entities = 1;" とする方が簡単だったかも。

コメントする

aws+ logo

About Me

フリーランスで、テクニカルディレクターたまにプログラマーをやっている後藤和貴(ごとうかずたか)です。

最近はAWSなどクラウドコンピューティングに興味あり。導入支援サービスAWS+はじめました

自己紹介的なものはまだ書いてないので、ひとまずこちら

連絡先は kaz.goto[at]gmail.com。

最近のブログ記事

閉じる