文字化け対策
個人サイトで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-8。SQL文をファイルに出力したのだが、これらが混在したファイルしか出力されないのだ。「文字コードをEUCにコンバート」という設定にしてもなぜか直らない。
仕方がないのでダウンロードしたファイルを複製し、テキストエディタで1つはUTF-8、1つはEUCで開いて、文字化けしている部分を文字化けしていない方からコピー&ペーストするという地道な手作業で対応した。
その3:MovableTypeでデータが文字化け
MovableTypeのインストールはすぐ終わり、早速XAMPP標準のphpMyAdminを使ってデータをインポート。らくらく終了。中身を見てみてもちゃんと入っている様子。
が、MovableTypeにログインすると、なぜか記事が文字化けしている。MovableTypeそのものは文字化けしていないのに、記事部分だけ文字化け。
文字コードがMovableTypeとMySQLの間で食い違っているのかと思ってあれこれ調べてみたのだが、確かに同じ(ように見える)。
いろいろ調べていたら、下記サイトに遭遇。
参考:iandeth. - Movable Type + MySQL 4.1 を組み合わせると日本語が文字化けする不具合/障害の解決方法
書かれていたとおりmt-config.cgi の最後に
SQLSetNames 1
と入れてやったらあら不思議。見事に文字化けが解消した。
ということで、他にやりたい事もあるし、なんだかバタバタと仕事の依頼が来てはいるのだが、とりあえず移行テストの準備だけは整った。夏が終わるまでには移行したいのだが、はてさて……。