MySQLのutf8mb4をutf8に変換する

Note

schedule2015.05.12

visibility4383

WordPressの4.2へのバージョンアップし、絵文字(wp-emoji)がサポートされました。
それに伴いデータベースへの保存形式がutf8(3byte)からutf8mb4(4byte)へと変更になりました。
これはMysql5.5から扱える文字コードなので、サーバー環境が条件を満たしていれば、自動的に書き換えてくれます。
Mysql5.3などを使っている場合はutf8から変更されず、絵文字も扱えないままとなります。

レアなケースかと思いますが、Mysql5.5で動かしていたWordpressをMysql5.3のサーバーに移したい場合、問題が起きます。
データベースの情報をダンプした(書き出した)sqlを、移行先データベースに読み込むと「Unknown character set: ‘utf8mb4’(utf8mb4は存在しない文字コードです)」とエラーが出てしまいます。

そんな場合の対応策です。
ダンプしたsqlをテキストエディタで開きます。
「utf8mb4」を「utf8」で置換します。
sqlを保存すれば完了です。
これで5.5より下のバージョンでも読み込み可能のはずです。
絵文字が使われていない場合、問題は起きないかと思いますが、バックアップ等をキチンと取っておいてください。

 

3件のコメントがあります。

  1. データを移行した際にエラーになり解決方法を探していました。ありがとうございました!

コメントを残す

 

2014 © Webgoto