出现这个错误,是因为使用的varchar的编码时用utf-8,而它最大用3个字节存储,可是当一些emoj的表情是占用四个字节的,如果也要存起来的时候,就会报上述的异常
此时可以使用utf8mb4编码,它最大可以用4个字节存储。
utf8 maxlength = 3
utf8mb4 maxlength = 4
上述的修改可以通过navicat编辑的形式存入emoj表情,如果要通过java客户端也不报错:还要保证:
character_set_server 这个变量也是 utf8mb4。
可以通过以下语句来查看character_set_server 的值:
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%'