• RSS

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

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

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‘); に変更してあげる必要があります。



  • このエントリーをはてなブックマークに追加
  • follow us in feedly

コメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください