这个问题在百度上找了很久,发现都说是mysql驱动版本过低的原因,后来我升级后发现还是不行,看来问题的根本原因不是这里,然后果断翻墙去谷歌,谷歌的答案很好,这里贴出来原因及解决办法:

产生这种异常的原因在于,mysql中的utf8编码最多会用3个字节存储一个字符,如果一个字符的utf8

编码占用4个字节(最常见的就是ios中的emoji表情字符),那么在写入数据库时就会报错。

mysql从5.5.3版本开始,才支持4字节的utf8编码,编码名称为utf8mb4(mb4的意思是max bytes 4),这种编码方式最多用4个字节存储一个字符。


所以,将编码由utf8改成utf8mb4,问题解决。

Logo

更多推荐