[WP]データ移行時にUnknown collation: ‘utf8mb4_unicode_ci’ のエラーが出る場合の対処法
スポンサード
Mysql のバージョンが異なるサーバー間でデータを移行する場合は注意が必要ですが、
5.5.3 より低いバージョンのMySQL を使う場合は、エクスポートしたSQL ファイル内の「utf8mb4」の記述を「utf8」に変換(置換)してあげることで正常にインポートできるようです。
define(‘DB_CHARSET’, ‘utf8mb4’); になっている場合はdefine(‘DB_CHARSET’, ‘utf8‘); に変更してあげる必要があります。
スポンサード
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‘); に変更してあげる必要があります。
スポンサード
コメント