文字化け対策

 個人サイトでMovableTypeを利用しているのだが、はっきり言って放置状態。
 いや、記事の更新自体はしているのだが、システムメンテナンスを全くしていない状態なのだ。
 ということで、MT4.2が出たのを機に久しぶりにアップデートすることにした。

 いきなりアップデートして何かあっても困るし、いろいろと手を加えたい事もあるので、まずはローカルサーバ(XAMPPで構築)にMT4.2をインストール。
 次にに個人サイト(XREAを利用)のデータをエクスポートして、それをローカルサーバにインポート。

 言葉で書けばたったこれだけのことだが、これがまた面倒だった。

その1:phpMyAdminでエクスポートできない

 前述のとおりXREAを利用しているのだが、自動インストールしたphpMyAdminからエクスポートしようとするとエラーが出て実行できないという罠。
 いろいろ調べてみて、バージョンの問題かもしれないと思って最新版を導入。

 参考:phpMyAdmin 2.11.6 の設定 【D.D.Systems】

 いきなり上書きするのも怖いので、まずは元々あったphpMyAdminフォルダをリネームし、新しくphpMyAdminフォルダを作ってそこにインストール。これは上記参考サイトのおかげで難なく終了。問題なくエクスポートもできた。

その2:エクスポートすると文字化けする

 参考:小粋空間: MySQL + phpMyAdmin によるバックアップ

 DBはEUCらしいのだが、phpMyAdminが出力するコメント部分はUTF-8SQL文をファイルに出力したのだが、これらが混在したファイルしか出力されないのだ。「文字コードEUCにコンバート」という設定にしてもなぜか直らない。

 仕方がないのでダウンロードしたファイルを複製し、テキストエディタで1つはUTF-8、1つはEUCで開いて、文字化けしている部分を文字化けしていない方からコピー&ペーストするという地道な手作業で対応した。

その3:MovableTypeでデータが文字化け

 MovableTypeのインストールはすぐ終わり、早速XAMPP標準のphpMyAdminを使ってデータをインポート。らくらく終了。中身を見てみてもちゃんと入っている様子。
 が、MovableTypeにログインすると、なぜか記事が文字化けしている。MovableTypeそのものは文字化けしていないのに、記事部分だけ文字化け。

 文字コードMovableTypeMySQLの間で食い違っているのかと思ってあれこれ調べてみたのだが、確かに同じ(ように見える)。
 いろいろ調べていたら、下記サイトに遭遇。

 参考:iandeth. - Movable Type + MySQL 4.1 を組み合わせると日本語が文字化けする不具合/障害の解決方法

 書かれていたとおりmt-config.cgi の最後に

SQLSetNames 1

と入れてやったらあら不思議。見事に文字化けが解消した。

 ということで、他にやりたい事もあるし、なんだかバタバタと仕事の依頼が来てはいるのだが、とりあえず移行テストの準備だけは整った。夏が終わるまでには移行したいのだが、はてさて……。