サーバーをXrea(エクスリア)からCoreserver(コアサーバー)に引越しした。
利用していたXREAサーバーのPerlのバージョンが古かったこと、Coreserverはドメインをいくらでも登録できる(Xreaは20個まで)利点を考慮し、思い切って移転した。
画像ファイルやhtmlファイルはFTPで移動すればOKだけど、MT(Movabletype3.3)やデータベースを利用しているプログラムなどは、そうは行かない。
なるべく楽&確実に引越しするため、今回は以下のような方法を取った。
Coreserverのアカウント名をXrea時と同じにする
データベース名=アカウント名となるため、プログラム内のデータベース名を変更しないで済む。また、データベース接続パスワードも、Xrea時のものへ変更しておく。
すると、プログラムを変更なしで、そのままFTPで移動すれば動くようになる。
データベースはSQL文でまとめてエクスポート
MTのテーブルや、他のプログラムで利用しているテーブルを、phpmyadminからエクスポートでぶっこ抜いて、そのままCoreserverのデータベースへインポートした。
今回のエクスポートで、「~」の文字がエクスポート時に文字化けしてしまった。Mobabletypeの機能である「置換」機能で、事前に「~」を適当な文字「::hoge::」とかに変換しておいてから、エクスポートし、インポートが完了してから元に戻すと、大分楽だった。
その他発生した細かい文字化けは、手動で対応した。
MT文字化け
メカニズムは良く分からない。データベース(MySQL)のバージョンが変わったことによる影響のようだ。
mt-config.cgiファイルの一番最後に、
SQLSetNames 1
PublishCharset EUC-JP(Xreaで設定していた文字コード)
と追加することで文字化けを回避できた。
●PHPプログラム文字化け
DBを呼び出すプログラム中で、文字化けが発生した。
DB名を設定する命令、
mysql_select_db( ‘****’ );
のあとに、
$rs = mysql_query(“SET NAMES ‘ujis'”);
を記入することで、文字化けを回避した。
セキュリティ的には少々難があるようだけど、この際しょうがない。
【参考】
コメント