
- WordPress
Unknown collation: ‘utf8mb4_unicode_ci’の解決方法
サーバー移転に伴ってMysqlのデータベースを移行する際、インポート時に下記のような文字コードエラーが表示されることがあります。
「Unknown character set: ‘utf8mb4’」
「Unknown collation: ‘utf8mb4_unicode_520_ci’」
「#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘TYPE=MyISAM AUTO_INCREMENT=18’ at line ●●●●●」
本記事では、これらエラーが発生する原因と解決方法について解説しています。
目次(クリックで飛べます!)
DBインポート時に文字コードエラーが起きる原因
具体的な解決方法に入る前に、まずはDBインポート時に文字コードエラーが起きる原因について触れておきます。
DBインポート時に文字コードエラーが起きる原因は、移行元と移転先のMysqlバージョンに差があり、古いプログラムコードや文字コードを使っていることです。
DBインポート時の文字コードエラーを解決する方法①Mysqlバージョンを揃える
では、ここからは具体的な解決方法に入っていきたいと思います。
まず1つ目に紹介する方法は、Myswlのバージョンを揃えるという方法です。
前述の通り、文字コードエラーは移行元と移行先のMysqlバージョンが異なるために発生します。そのため、移行先のMysqlバージョンを移行元と同じにしてあげれば、エラーは発生しなくなります。
ただし、サーバーによってはMysqlのバージョンを自由に変更できない、または、新しいMysql環境でWebサイトを動かしたいなど、移行元のバージョンと揃えられないケースも多いかと思います。
その場合は次の方法で対処しましょう。
DBインポート時の文字コードエラーを解決する方法②sqlファイルを修正する
移行元と移行先のMyswlバージョンを揃えられない場合には、移行するsqlデータを修正し、移行先に合った形でインポートしてあげる必要があります。
それぞれのエラーに応じて、修正の仕方を以下で解説していきます。
Unknown character set: ‘utf8mb4’とUnknown collation: ‘utf8mb4_unicode_520_ci’の修正方法
「Unknown character set: ‘utf8mb4’」または「Unknown collation: ‘utf8mb4_unicode_520_ci’」というエラーコードが出た場合には、下記の流れで修正します。
テキストエディタでファイルを開き、左側の文字列を右側の文字列にそれぞれ置換
utf8mb4_unicode_520_ci → utf8_general_ci
utf8mb4 → utf8
#1064 – You have an error in your SQL syntax;~の修正方法
#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘TYPE=MyISAM AUTO_INCREMENT=18’ at line ○○
上記のエラーが出た場合には、下記のように修正します。
テキストエディタでファイルを開き、「TYPE=MyISAM」を「ENGINE=MyISAM」に置換
Mysqlの正しいエクスポート・インポート手順
最後に、Mysqlの正しいエクスポート・インポート手順についても紹介しておきます。
もしデータベースの移転に不安な場合は下記の記事を参考にしてみてください。
この記事を書いた人
サイト引越し屋さん編集部
日本で最も利用されているサーバー移転代行サービス『サイト引越し屋さん』の中の人です。 サイト引越しに関わる技術情報をはじめ、WordPressやその他のWebサービスに関するノウハウを発信しています。 全日本SEO協会所属。日本ウェブ解析士協会(WACA)所属。