- Note

MySQLのutf8mb4をutf8に変換する

Tag:

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より下のバージョンでも読み込み可能のはずです。
絵文字が使われていない場合、問題は起きないかと思いますが、バックアップ等をキチンと取っておいてください。

 

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

  1. WordPress文字化けしてたのが直りました。
    ありがとうございます。

    他のサイトでエクスポート時に、SQL互換モードを設定すれば大丈夫って書いてあったのに日本語ファイルが文字化けしてたのでメチャクチャ困ってました。

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

  3. ワードプレスの文字化けで助かりました。
    ありがとうございます!

コメントを残す