如何在MySQL中支持emoji🐔
tl;dr
MySQL的utf8是残疾的,只支持utf8中三个byte的字符.解决方案:用utf8mb4,即可支持emoji.
可参考:https://mathiasbynens.be/notes/mysql-utf8mb4
UTF-8
MySQL中的utf8
MySQL中的utf8mb4
从utf8
升级到utf8mb4
总结
永远不要用MySQL中的utf8
, 每次都用utf8mb4
. 升级你的数据库或者代码可能会花上一些时间,但是这绝对是值得的.
为什么莫名其妙地限制数据库可以存储的字符集呢?为什么要在每次用户输入emoji的时候都丢失数据呢?
没有理由不支持完整的unicode. 做正确的事情,使用utf8mb4
. 🍻