一.建议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

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.38</version>
</dependency>
复制代码

二.确认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...

分类:
后端
标签: