首先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是四字節的