一般字符串我们都是用UTF8得字符集
今天遇到了一个问题,特殊符号在插入数据库得时候报错了
同事跟我说是字符集得问题,utf8改为utf8mb4就可以了
接下来我们来说说原因:
mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。
那utf8mb4和utf8有什么区别呢?
MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。