#1273 – Unknown collation: ‘utf8mb4_unicode_ci’
MySQL
私はホームページをWordPressで作って欲しい!
といった依頼を受けた時、指定がない限りは自前で持っている開発環境でWordPressを構築してから本番で使用するサーバーにファイルデータとデータベースのsqlを移行するのですが稀に古いサーバーなどを使っていると
「#1273 – Unknown collation: ‘utf8mb4_unicode_ci’」
といったエラーが出ることがあります。
今回はこれの解決方法をご紹介。
スポンサーリンク
目次
原因
原因はいたってシンプル。
開発環境で使っているMySQLと本番のMySQLのバージョンが違うため、本番のように古いバージョンだと「utf8mb4」は使えないよ!
といっているのです。
なので、「utf8mb4」を使わなければ解決できます。
utf8mb4とは
MySQL5.3.3から使えるようにり、絵文字がデータベースに保存できるようになりました!
WordPressは4.2からutf8mb4が使えるMySQLのバージョン時は自動で使うようになりました。
これにより「#1273 – Unknown collation: ‘utf8mb4_unicode_ci’」のエラーを見る機会が増えましたね。
解決策
絵文字を使っていないサイトならばこの「utf8mb4」の文字列を「utf8」にするだけです。
手順としては、
1. 開発環境のMyAdminPHPからsqlファイルをエクスポート
2. sqlファイル内の「utf8mb4」を「utf8」に置換
となります。
またWordPressを使ってる場合は、「wp-config.php」のファイル内もチェックする必要があります。
ファイル内に
define(‘DB_CHARSET’, ‘utf8mb4’);
の記述がある場合は
define(‘DB_CHARSET’, ‘utf8’);
こちらもutf8にしてあげましょう。
絵文字を使うサイトを作っていた場合
掲示板やコメントフォームなどを使うサイトの場合で今回のエラーが出た場合は使っているサーバのMySQLのバージョンをあげられないか確認し、できない場合はサーバの移行を検討する必要があると思います。
どのサーバにするか迷った場合はXSERVERにして見てはどうでしょうか。
よければ導入を検討して見てください。
スポンサーリンク