[WP] EUC-JP → UTF-8 化メモ

2013/11/01

とりあえず・・・うまくいったぽいのでメモ。

・Wordpressのバージョンは2.1。
・使用エディタはサクラエディタ。
・EUC-JP時のデータベーステーブルは削除せずにUTF-8用に新たなデータベーステーブルを作ることにする。

  1. phpMyAdminでWordpress関係のデータベースをエクスポート。
  2. SQLファイルを開き、テーブル名の接頭文字を一括変換。
    例:(wp_~~ を wp2_~~ に)
  3. **_optionsテーブルの**_user_rolesカラムのoption_valueをUTF-8用に書き換える
    • 「s:??:”管理者”」のような日本語があるところの??部分の数字が日本語文字数の2倍になっているはずなので3倍の数字に書き換える。
      (日本語一文字につき、EUC-JPが2byte、UTF-8が3byteと異なるため)
    • 同様に、「編集者」「作者」「寄稿者」「協力者」の部分も編集する
  4. **_optionsテーブルのblog_charsetカラムのoption_valueがEUC-JPになっているのでUTF-8に編集する
  5. 文字コードをUTF-8にして保存 (セーブ時の文字コードをUTF-8にする)
  6. phpMyAdminでSQLファイルをアップロードし実行させる
  7. エラーがなければOK
  8. /wp-config.phpを編集する
    • mb_internal_encoding(“EUC-JP”); を mb_internal_encoding(“UTF-8”); へ変更。
    • define (‘WPLANG’, ‘ja_EUC’); を define (‘WPLANG’, ‘ja_UTF’); へ変更。
    • $table_prefix を上記で変更したテーブル接頭文字に変更。
  9. wp-config.phpをアップロード
  10. 使用テーマ内や、プラグインソースでEUC-JP直書きで記入している部分があれば、UTF-8に変換する。

以上。

追記:
**_options テーブルの rss_~~~ の部分はUTF-8の文字データなのでEUC-JPでエクスポートした際に文字化け状態となりますので、その部分のみを一度別の場所にコピーし、文字コードをUTF-8に直してきちんと表示できる状態にして再度元の場所にコピペします。

追記2:
UTWプラグインでタグ機能を導入し、タグに日本語を用いている場合は **_postmetaテーブルも同様にタグの日本語部分のバイト数変更の変換が必要です。

以上。

どこかに穴があるかもしれないので、当メモを参考にする場合は自己責任にて;;

*phpmyadmin を自前インストールなどでライブラリファイルの差し替えが可能であれば、Wordpress Japanさんで公開されている方法がエクスポート時にUTF-8にエンコードできるので楽です。
[>>WordPress Japan – EUC-JPからUTF-8への文字コード変更]



(*)他サイトで行ったメモ。当blogはEUC-JPのままです。当blogもUTF-8化しました。