2022-01-30 MySQL の encoding
MySQL の encoding
MySQL の utf8 は真のutf8じゃないよねって話。
MySQLのencodingをutf8からutf8mb4に変更して寿司ビール問題に対応する|TechRacho by BPS株式会社s
歴史的な理由で、MySQLのutf8文字セットは
utf8mb4
ではなくutf8mb3
を参照しています。
これにより4バイト長UTF–8文字である絵文字(例, 🍣)をDBに登録できない。
MySQL 8.0.1 からは utf8mb4 がデフォルトに
MySQL 8.0.1 は utf8mb4 がデフォルトになったのであまりこのへんに関して気にすることはない。
同じく「Sushi = Beer ?! An introduction of UTF8 support in MySQL 8.0 | MySQL Server Blog」には2017年の時点でデフォルト文字セット
utf8mb4
に移行する構想が述べられており、その後MySQL 8.0.1からはデフォルト文字セットがutf8mb4
になりました。
collation にかんしてはどういう設定にすべきかは一考の余地アリ。
MySQLのコレーションについては、8.0.1で
utf8mb4_ja_0900_as_cs
を含む以下のコレーションが追加されました。