原因分析
1、MySQL数据库,字符编码是UTF-8,最大只支持3字节字符;
2、"\xF0\x9F\x91\xAA" 是一个Unicode字符序列,它通常表示一个emoji表情,由4个字节组成。
3、MySQL数据库的UTF-8字符集无法识别,因此就出现 "incorrect string value" 异常。
解决方法
1、简单粗暴
修改表字段数据类型,VARCHAR改为VARBINARY就好了。
2、设置字符集
查看当前数据库字符集设置
---- --------- ---- --
修改数据库字符集
----- -------- ------------- --------- --- ------- ------- -------------------
更改表或列的字符集
----- ----- ---------- ------- -- --------- --- ------- ------- -------------------
如果是JDBC连接,确保连接字符串包含正确的字符集指定,例如:
---------------------------------------------------------