[WP]データ移行時にUnknown collation: ‘utf8mb4_unicode_ci’ のエラーが出る場合の対処法

WordPress
スポンサーリンク

WordPressサイトのお引越に伴い、現在(旧)のサーバーのphpMyAdminからデータをエクスポートして新サーバーへインポートしようとしたら、Unknown collation: ‘utf8mb4_unicode_ci’というエラーが発生して正常にインポートできませんでした。


MySQLのバージョンによっては「utf8mb4」は使えない

調べてみると、このutf8mb4はUTF で4 バイト文字を扱うことができる文字コードらしいのですが、使用できるMySQLのバージョンが5.5.3 からという条件付き…。

Mysqlのバージョンが異なるサーバー間でデータを移行する場合は注意が必要ですが、
5.5.3より低いバージョンのMySQLを使う場合は、エクスポートしたSQLファイル内のutf8mb4の記述をutf8に変換(置換)してあげることで正常にインポートできるようです。


「utf8mb4」を「utf8」に変換してインポート

エクスポートしたSQLファイルをテキストエディタで開き、utf8mb4の文字列をutf8に置換して、phpMyAdminからインポートします。


wp-config.phpのdefine設定も確認

wp-config.phpのデータベースの文字セットの設定(DB_CHARSET)が「utf8」のままであれば、上記のようにSQL ファイル内の文字列置換だけでいけるようですが、

define(‘DB_CHARSET’, ‘utf8mb4’); になっている場合はdefine(‘DB_CHARSET’, ‘utf8‘); に変更してあげる必要があります。

コメント

タイトルとURLをコピーしました