问题描述
执行 SQL 语句(在语句中包含中文值)时,产生如下错误:
java.sql.SQLException: Incorrect string value: '\xE6\x98\xAF","...' for column 'previous_request' at row 1
问题原因
字段的编码格式错误,需要我们检查数据库编码,并且要检查数据表字段的编码
解决办法
数据库已经设置为 utf8mb4 编码,并修改字段为 utf8mb4 编码
如果数据是“简单”的 Unicode 字符,可以直接使用 uft8 编码。但是依旧建议使用 utf8mb4 编码,以避免日后出现不必要的麻烦(比如再次调整为 utf8mb4 编码,以存储 emoji 表情,毕竟需求是在增长的)
参考文献
K4NZ / java.sql.SQLException: Incorrect string value: 'xxx","...' for column 'xxx' at row 1
mysql - java.sql.SQLException: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' - Stack Overflow