java.sql.SQLException: Incorrect string value

通常由于字符编码原因 导致数据insert 的时候出现java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1
表情是按照4个字节一个单位进行编码的,而我们使用的utf-8编码在mysql数据库中默认是按照3个字节一个单位进行编码的.
彻底修改此问题的方法
第一步:修改mysql的配置文件mysql/bin/my.ini, 添加如下内容:

# 注意:是添加内容
[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

第二步:重启数据库

systemctl restart mysqld

第三步:修改数据表的编码为utf8mb4

# ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4;

你可能感兴趣的:(java.sql.SQLException: Incorrect string value)