Open2

MySQLとブラウザのUTF8の違い。なぜブラウザは絵文字を表示できるのか

さすけさすけ

MySQLのセットアップをするときに、「utf8ではなく、utf8mb4じゃないと絵文字対応していない!」とよく聞く
ブラウザではUTF8を使うなのに、なぜMySQLだと絵文字が使えないのか調べた

結果、
MySQLのUTF-8はutf8mb3であり、
ブラウザのUTF-8はutf8mb4だから
※ MySQLのutf8は将来的にutf8mb4の参照になるかも とのこと
https://dev.mysql.com/doc/refman/8.0/ja/charset-unicode-utf8mb3.html

さすけさすけ

ブラウザがutf8mb4である根拠までは調べられなかった。ブラウザのソースコード読めば書いてあると思う。
しかし、UTF-8のRFCにも1-4バイトで表現すると書いてあるので、ブラウザはそれを基準に実装しているはず
https://datatracker.ietf.org/doc/html/rfc3629