目次
MySQLで適切に絵文字を扱うためには
文字コードをutf8mb4で指定します。
注意点として、utf8mb4のデフォルト照合順序は「utf8mb4_general_ci 」です。
照合順序を意識しないで適用すると思わぬ落とし穴にハマります。
utf8mb4_general_ciとは
大文字・小文字を区別しない照合順序です。
また、U+10000以降の文字は区別出来ません。
内部的には別の文字(記号)として表現されるからです。
大文字・小文字、U+10000以降の文字は区別するには
照合順序を「utf8mb4_bin」にする必要があります。
まとめ
MySQLで絵文字を扱う場合は要件にもよりますが
文字コードを「utf8mb4」
照合順序を「utf8mb4_bin」
にするようにしています。
次回は、Javaでの文字化けの原因と対処法を記載します。
興味がある方は、こちらから記事を参照することが出来ます。