MT4.21ダッシュボードの文字化け
MT4.21ダッシュボードの文字化け


午前7時20分起床。浅草は晴れ。今日は朝からMovableTypeでつくったサイトの復旧作業である。昨日、あるサイトで、MT4.14からMT4.21へバージョンアップをおこなったところ、上の図のようにMTのダッシュボードが文字化けが発生した。これはデータベースが壊れた、と言っていい症状であって、レンタル先の対応によっては、作業は最悪(再度新規に構築)を想定していた。その最悪が的中してしまったのだ。

元々古いサーバにMovableTypeを導入していて、当初の文字コードはEUC-JPだった。それをMT4にバージョンアップしたとき、どうも動きがおかしいので問い合わせをしたところ、このサーバはMT4には対応できていない、という返事だった(ここまではEUC-JPのまま)。そこで新しいサーバへの引っ越しをお願いし(同じレンタル先である)データの移行もやってもらった。当初は、文字化けは発生したが、その後対応され(つまり文字コードの変換、EUC-JP→UTF-8が行われ)、文字コードはUTF-8 で動いている、ということだった。

たしかに mt-config.cgi を確認すると PublishCharset UTF-8と記述があったり、当初文字化けしていた4.14のダッシュボードもきちんと表示されている(再構築を試していなかったのはまずかった。後の祭りだ。)。あたしはその状況を鵜呑みにして、つまり、MT4.14がUTF-8 で問題なく動作しているという前提で、4.21へのバージョンアップを行ったのだ。…が、じつはまだ、データベースはEUC-JPのままというオチがあったのであって、契約的にMySQLを直接触れないので、こういう時はつらいのだ。

MT4は、データベースの文字コードが違っていても、平気でアップデートしてしまうので、文字コードの違いに気付かずにアップデートしてしまうと、気付いた時には、ほぼ万事休す、なのである。なのでバックアップは必然なのだけれども、送ってもらったSQLのバックアップデータは、サーバ移行の時点で壊れていたのであるな(たぶん)。なので使えない。

それでデータベースを新規につくってもらい、新規にMT4.21をインストール。それからバックアップ(というか、事前にとっていたエクスポートファイル)からデータを戻す作業をしていたりするのだが、これはけっこうたいへんな作業であるわけだ。w