当前位置: 代码迷 >> 综合 >> Caused by: java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x98\x82\xE5\x93...‘ for column ‘
  详细解决方案

Caused by: java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x98\x82\xE5\x93...‘ for column ‘

热度:14   发布时间:2024-01-30 11:46:34.0

出现这个错误,是因为使用的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_%'