mysql 数据库无法存储表情包和复杂汉字吗?
答案是否!数据库完全可以存储。
那么为什么我存的时候数据库会报错呢?
原因是在mysql8.0前,为了mysql的执行效率,默认的字符编码是utf8,它最大字符为3,而表情包为4,所以无法存储,只需要修改字段的字符编码为utf8mb4就可以保存了,如果还是出问题,那么可以看看代码的数据库连接配置里的编码格式,改为utf8mb4就可以了。
顺带一提,utf8mb4就是最大字符长度为4的编码格式(most bytes 4),在5.5.3之后加入,utf8可以理解为其中的一个子集,也叫utf8mb3,utf8mb4兼容utf8,在mysql8.0以后,MySql默认编码变为utf8mb4了。