1.使数据库的编码为utf8mb4
2.使表的编码为utf8mb4
3.修改对应的表的字段的编码为utf8mb4
ALTER TABLE jk_account MODIFY COLUMN sig_nature VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
使用:show variables like 'character_set_%';可以显示设置的对不对。
4.修改数据库的配置文件
在windows上的配置文件路径为:C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
如果是win10 由于有权限问题,必须以管理员权限修改这个文件,否则即使保存成功了,也不会被mysql读取出来。
[client]
no-beep
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
port=3306
character-set-server=utf8mb4
character-set-client-handshake = FALSE#这个配置特别重要,不能缺少
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
5.在windows上重启服务
6.设置jdbc的连接字符串
错误的设置:jdbc:mysql://localhost:3306/jiaKao?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&allowMultiQueries=true
正确的字符串应该是把characterEncoding=utf-8&去掉。让my.ini的默认设置起作用。
jdbc:mysql://localhost:3306/jiaKao?useUnicode=true&serverTimezone=UTC&allowMultiQueries=true