java.sql.SQLException: Incorrect string value: '\xF0\x9F\x91\xAA' for column 'nickname' at row 1

原因分析

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连接,确保连接字符串包含正确的字符集指定,例如:

---------------------------------------------------------