jdbc报Incorrect string value: '\xF0\x9F\xA4\x97' for column

首先验证jdbc连接是否正确mysql

jdbc:mysql://ip:port/dbname?"
        + "user=user&password=password&useUnicode=true&autoReconnect=true&characterEncoding=utf8

而后验证mysql配置sql

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';数据库

重点观察mysql配置是不是utf8mb4,如若不是检查/etc/my.cnf是否有如下配置code

[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'

 

最后检查数据库、表字段定义server

ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE table_name CHANGE column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
相关文章
相关标签/搜索