レンタルサーバーから自社サーバーに移動しました。同時にLinuxからWindowsに引越しです。記事が数百になると、再構築ができなくなってしまい難儀しました。これからいつでも再構築できます。
苦労しました。文字化けがなかなか解消しない!!!
MovableType+MySQLでは「UTF8」でないと表示に不具合があるようなのですが、うまく表示しないのです。MySQLはバージョン5です。プログラム本体の再インストールやテキストの文字エンコードの変更など結果2日間で10時間以上を費やしてしまいました。
参考に、文字化けしない移行方法を書いておきます。
1.WindowsにMySQLバージョン5をインストールします。
2.MySQLのインストールフォルダ内にある「my.ini」を編集し、
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
この最終行をサイトで見つけるまでに時間がかかりました。
MySQL 5.0.12-rc以上ではこの1行で文字化けが解消されます。
3.Windowsにデータベースを作成します。
4.Linuxのデータベースのテーブル構造をsql文でテキスト化します。Drop文を追加しておくと後で便利です。
5.Linuxのデータベースのデータをcsvでテキスト化します。カンマ区切り「,」、ダブルクォーテーション「”」付きでエクスポートします。
6.Windowsで4のsql文を実行しテーブルを用意します。
7.5のテキストの文字コードを確認します。「UTF8」に合わせますが、「UTF8N」でも問題ないようです。
8.通常のInsert文では日本語が混ざるとエラーが出るので、csv形式でファイルデータを挿入します。
LOAD DATA INFILE “(CSVファイルの絶対パス)” INTO TABLE (テーブル名)
FIELDS TERMINATED BY “,” ENCLOSED BY ‘”‘
LINES TERMINATED BY “\r\n”IGNORE 1 LINES;
この構文の注意点は、
・ファイルの絶対パスの階層区切りを「\」ではなく「/」で記述する。
・ENCLOSED BYはフィールド単位を示すものですが、日本語が混ざるとCSVにこれがないとなぜかエラーが続出する。
・IGNORE 1 LINESはインポートで1行飛ばすという意味で先頭行が項目行の場合に必要です。
MySQLのインストール方法や操作の仕方については他のサイトを参考にして下さい。それにしても、WindwosではphpMyAdminがうまく動作しない。おそらく設定方法がまたどこか間違っているのだろうが、仕方がないので、上記移行手順はすべてコマンドで実行した。