utf8_general_ci
PhpMyAdminでテーブルの照合順序をみると上記のようなものが書かれているかと思う。「utf8mb4_unicode_ci」と書かれていたらDBの文字コードに「utf8mb4」が使われていると考えて間違いない
utf8 と utf8mb4について
バイト数
utf8 =>1文字最大3バイトutf8mb4 =>1文字最大4バイト(絵文字対応)
バイト数が違います。
MYSQL
MySQL 5.5.3以上でないと、utf8mb4は使えませんWordPress
WordPress4.2の絵文字対応から、utf8mb4が採用されるようになりました。古いバージョンからアップグレードするとWordpress標準のテーブルは自動でutf8mb4に変換されます。標準のテーブル以外でプラグインが独自に作成しているテーブルの場合は変換されないようです。
MYSQL(utf8mb4)でないと、Wordpressは絵文字が使えないのか?
utf8の場合は、絵文字はHTMLエンティティに変換されて格納されるので、絵文字は使えます。その他の情報
utf8 と utf8mb4の違いによって起こる問題の一つとして、レンタルサーバーの引っ越しなどがあるかと思います。たとえば、MYSQL 5.5のところから、MYSQL 5.0のところに引っ越しとかのパターンです。レアなケースかと思いますが、Mysql5.5で動かしていたWordpressをMysql5.3のサーバーに移したい場合、問題が起きます。
データベースの情報をダンプした(書き出した)sqlを、移行先データベースに読み込むと「Unknown character set: ‘utf8mb4’(utf8mb4は存在しない文字コードです)」とエラーが出てしまいます。
そんな場合の対応策です。
ダンプしたsqlをテキストエディタで開きます。
「utf8mb4」を「utf8」で置換します。
sqlを保存すれば完了です。
これで5.5より下のバージョンでも読み込み可能のはずです。
MySQLのutf8mb4をutf8に変換する | ウェブゴト
//1つ1つテーブルを変換
ALTER TABLE 【テーブルの名前】 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
【重要】wp-config.phpを修正
define('DB_CHARSET', 'utf8mb4');
↓
define('DB_CHARSET', 'utf8');
【WordPress】DBの文字コードをのエラーがでたときの対処法メモ - Qiita
・MySQL で utf8 と utf8mb4 の混在で起きること - @tmtms のメモ
その他
・MySQL と寿司ビール問題 - かみぽわーるスポンサーリンク
コメントを残す