一.建议jdbc驱动版本在5.1.38以上
1.保持该版本以上的原因是可以让jdbcurl中的useUnicode=true&characterEncoding=utf8属性继续生效
完整的连接类似于:jdbc:mysql://xxxx:xxxx/xxxx?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&useOldAliasMetadataBehavior=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
mysql
mysql-connector-java
5.1.38
复制代码
二.确认mysql版本5.6以上
SELECT version();
复制代码
1.查看当前字符集
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
复制代码
2.修改字符集
ALTER DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3.修改mysql配置文件my.cnf
my.cnf一般在etc/mysql/my.cnf位置。找到后请在以下三部分里添加如下内容:
[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
4.重启mysql...