#1273 – Unknown collation: ‘utf8mb4_unicode_ci’

1810 Views
MySQL
#1273 – Unknown collation: ‘utf8mb4_unicode_ci’

私はホームページをWordPressで作って欲しい!
といった依頼を受けた時、指定がない限りは自前で持っている開発環境でWordPressを構築してから本番で使用するサーバーにファイルデータとデータベースのsqlを移行するのですが稀に古いサーバーなどを使っていると
「#1273 – Unknown collation: ‘utf8mb4_unicode_ci’」
といったエラーが出ることがあります。

今回はこれの解決方法をご紹介。

SNSでシェア♪

スポンサーリンク

原因

原因はいたってシンプル。

開発環境で使っている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にして見てはどうでしょうか。

 
 
このブログもしかり、XSERVERではMySQLやPHPを最新バージョンにできたりHTTPSに無料で対応できたり、nginx導入により表示速度が爆速になったりします。

よければ導入を検討して見てください。

SNSでシェア♪

スポンサーリンク

関連記事