向mysql储存emoji图标报错问题

数据库 ngxz 5年前 (2019-05-11) 2124次浏览 已收录 扫描二维码

前段时间做数据抓取时,遇到有的title中有emoji表情,比如🎉🔴⏰💥❗,这种情况下,向数据库插入就会报错,无法插入。


后来了解到, 数据库编码使用的是utf8,一个字符最多三个字节,而Emoji表情是四个字节,所以需要把utf8改为utf8mb4,如下图。

向mysql储存emoji图标报错问题

utf8和utf8mb4的由来:

MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。 ——本段来自https://www.cnblogs.com/beyang/p/7580814.html


版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:向mysql储存emoji图标报错问题
喜欢 (0)