自作CGIによるMovableTypeのレンタルサーバーから自宅サーバーへの移動
Perlでプログラムを組み、MySQLテーブルへ直接データを流し込む。
■1 レンタルサーバーからMySQL各テーブルごとにファイルへ出力
MovableTypeのデータベースをテーブルごと(mt_blog、mt_template等)にファイルへ書き出す。
■2 サーバーマシンに引き受け先MovableTypeをインストール。
MT3.34のディレクトリやファイルをコピーし、mt-config.cgiを適切に修正、mt-check.cgiやmt.cgiでインストールを済ませておく。
■3 2で作ったテーブルに、1のファイル内容を流し込む
Perlで行う。
MySQLのデフォルト設定、Perlの文字コード、ファイルの文字コードなど、すべてUTF-8を共通で使っていたが、なぜかMySQL内では文字化けした。→Perlに下記行を追加して解決。
DBへの接続時、
$dbh = DBI->connect("・・・・");
の後に
$dbh->do("set names utf8");
を追加し、またファイルを開くとき文字コードを下記のとおり明示する。
open(FILE, "<:utf8", "$file");