アフィリエイト広告を利用しています

2023年04月19日

utf8とutf8mb4

Mysqlで扱える文字コードにutf8とutf8mb4があるのは知っていたが、

どちらにしても文字を登録できるので、

その違いを深く考えたことはなかった。


偶然、utf8では保存できないが、utf8mb4では保存できる漢字があることを知り、

その違いを調べてみた。


 utf8 → 1〜3バイトまで対応
 utf8mb4 → 1〜4バイトまで対応


これを知らずにMysqlを使っていたことが恥ずかしい。

utf8のデータベースに保存できなかったのは「𠮟」(口へんに七)。

「叱」のUnicodeは「U+53F1」(口へんにヒ)JIS規格の第1水準
「𠮟」のUnicodeは「U+20B9F」(口へんに七)JIS規格の第3水準

しかるを漢字変換すると「叱」(口へんにヒ)が表示されるので、
「𠮟」(口へんに七)を使用しなくければ良いだけのように思うが
「𠮟」(口へんに七)を使わないとまずい場合もあるらしい。

試してみると、utf8mb4のデータベースには「𠮟」(口へんに七)を保存できた。

同様の文字は他にもあるそうだ。
 補填のてん 「塡」
 剥離のはく 「剝」
 頬 ほお  「頰」







posted by db-engineer at 00:00 | Comment(0) | Mysql

最新記事
検索
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド