というわけで思い立ったが吉日、さっそく 2.661から昨日リリースされたMovable Type 3.11にアップグレードしてみました。
今まで腰が重かったのは、メジャーアップグレードする際に文字コードをどうしようかなあと迷っていたわけで、以前CSSのレイアウトが特定ブラウザで崩れたりするのでサーバ移行とMySQL導入の際にUTF-8からEUCに変更したのだけど、またUTF-8な世界に戻ろうかなあという迷い。
MTをあちこちいじってプラグインやなんやらでRESTやXML-RPCで遊ぼうとするとUTF-8標準なのでEUCに変換する際に結構ハマったりして。
blog自体をUTF-8にしておけばいちいちそんなことで悩まなくていいから幸せになれるかなと思ったのです。
で、躊躇していたのですが結局EUCのままアップグレードすることに決めました。
プラグインやらなんやら結構ソースいじりまくってるし、どこ直したかなんて覚えてないし要するにめんどくさかったので(笑)
決めてしまえばあとは行動あるのみ。
Six ApartのMovable Typeページからアップブレード版をダウンロードして、データやソースのバックアップを取ってからファイルを上書き、ブラウザからmt-upgrade31.cgiを叩けばあっという間にアップグレード完了です。
詳細な作業手順はNDO::Weblogのこちらのエントリーを参考にしました。(3.0を3.1と読み替えるだけでOK)
Milanoさんのこちらのページもわかりやすくて参考になるでしょう。
さてこれであっさりと3.11になって、ばんざーいと意気揚々に管理画面を開くとこんなことに・・
![]()
おもいきり文字化けてます(汗)
むむむ。
MT3はベータテストで前にインストールした事はあるのですが、その時は新規インストールでテストしていたので文字化けなどの問題は何もおこりませんでした。今回始めてアップグレードをやってみたのですがなにやらひっかかってしまったようです。
上記のアップグレード説明ページにもあるように mt.cfg には DefaultLanguage ja をちゃんとセットしています。
管理画面にログインしてよくよく見るとエントリーデータなどはちゃんと日本語表示されています。つまりデータではなく管理画面のメニューが文字化け状態だということ。プロフィール編集画面ではちゃんと表示言語に「Japanese」が選ばれています。
これを「US English」に変更すると英語メニューになり文字化けは無くなります。
原因を探ろうとするも、この時点で既に午前4時をまわっていたので「俺はこれから英語ネイティブな人間になるぞ!」とわけのわからない事をつぶやきながら臭いものには蓋をする状態で「US English」でセーブして終了。自分自身もスイッチオフ。
そして翌日(今日ですね)、「やっぱり俺は日本人だ!」と原因究明にかかりました。というのも、いくらプロフィールで表示言語を「US English」にしてもログイン画面はやっぱり文字化け状態なんですね。あまり気持ちのいいものではありません。
ソースを追ったりテンプレートの中身をのぞいたり、ググったりして原因は ja.pmのあたりにあるらしい事がわかってきました。このja.pmの中身から日本語メニューを表示してるんですね。
だんだん核心に近づいてきたと思ってさらに調べてみると・・見つけましたこれだっ!
そうそう、忘れずに mt-2.6 の ja.pm を消しておきましょう。(mt3/)extlib/MT/L10N/ja.pm が残っていると、うまく表示がでないことがあります。削除するのを忘れないようにしましょう。
「灯台下暗し」はまさにこの事。なんと本家本元、Six Apartの平田さんのブログに書いてあったではありませんか。(^^;
2.x で日本語化する際に使用していたファイルが悪さをしていたようです。
というわけで extlib配下の ja.pm を削除、管理画面をリロードすると
![]()
このとおり、文字化け解消!
同じ現象で悩んでいる方の参考になれば幸いです。
これでまずはアップグレード無事完了。
MT3の新機能などについてはまたおいおい対応させてみたいと思います。