首先java里面配置连接池的时候不要配置characterEncoding\=UTF8
第二 数据库,表编码格式和字段编码格式改成utf8mb4格式
第三步 在mysql的配置文件mysql.ini中添加配置
[client]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[mysql]
default-character-set = utf8mb4
修改完mysql.ini记得重启mysql
linux输入命令:service mysql restart
windows输入命令:net stop mysql 和 net start mysql
导致乱码的原因是因为 普通的utf-8都是4字节的 而mysql数据库中的utf-8是3字节 所以导致会乱码 而utf-8mb4是四字节的