文字コードShift-JIS、EUC-JPで運営しているMovableTypeのブログ・サイトを、UFT-8など他の文字コードに変換する手順です。
目次
SQL・エントリーのバックアップをとる
- 対象のデータベースをdumpファイルで書き出します。
XREAなら管理画面>データベースから、対象のデータベース名を選択して保存。 - FTPソフトでルートディレクトリにdumpファイルが作成されているのを確認します。念のため、ローカルにダウンロードしておいてもOK。
- MT管理画面から 読み込み/書き出し>エントリーの書き出しで、エントリーをエクスポートしてバックアップします。
MovableTypeの文字コードを変換する
- Movable Type の文字コード変換スクリプトをダウンロード。
- 解凍して出てきた mt-convert-code.cgi を、Movable Typeをインストールしたディレクトリ(mt)にアップロード。
- mt-convert-code.cgiにブラウザからアクセスして実行。
Currentには現在の文字コード、Newには変換したい文字コードを指定してConvertボタンをクリック。
- エントリー全てのコンバートが完了した場合は、mt-config.cgiの Publish Charaset を変換した文字コード(UTF-8など)に変更してアップロード上書き。
- 管理画面でエントリーの文字化けが無いことを確認してから再構築。
- mt-convert-code.cgi はサーバーから削除しておきましょう。
変換がエントリーの途中で止まる場合
エントリー数が多いとXREAなどではcgiが停止してしまって、途中で変換が終わってしまう場合があります。その場合の対処方法。
- 書き出しておいたエントリーをコピーしておいて、エディタで開き「変換したい文字コード、改行コードLF」にして保存。
- 管理画面でエントリーを表示。
画面の表示設定で「全ての行」を表示して、全てのエントリーを削除。
- 読み込み/書き出し>エントリーの読み込みで、文字コードを変換した書き出しエントリーをインポートして読み込む。
(1M以上のファイルだと読み込めないというエラーが出るので、その場合はエディタで分割して読み込ませる。) - 管理画面で全てのエントリーが復元されていて、文字化けが無いことを確認してから再構築。
MySQLのdumpファイル復元方法
もし失敗した場合や、元に戻したい場合には、最初にバックアップしておいたdumpファイルで元の状態に復元することができます。
XREAの場合は、管理画面>データベースから復元したいデータベースを選択して復元ボタンを押すだけです。