mysql-connector-java各版本对utf8mb4字符集的支持
基于mysql5.6进行的调查
MySQL Connector/J 5.1
5.1.12及以下
这些版本不支持utf8mb4字符集
5.1.13
该版本以下两种方式均可支持utf8mb4字符集
- 在mysql连接字符串中指定characterEncoding=utf8(这一点算是个bug),例:
jdbc:mysql://localhost:3306/db_local?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
- mysql服务端配置文件中设置character_set_server=utf8mb4,连接字符串可以设置characterEncoding=utf8或者不设置characterEncoding,例:
#my.cnf
[mysqld]
character-set-server = utf8mb4
5.1.14 - 5.1.46
这些版本必须在mysql服务端配置文件中设置character_set_server=utf8mb4,连接字符串可以设置characterEncoding=utf8或者不设置characterEncoding。
5.1.47及以上
这些版本仅需要在mysql连接字符串中指定characterEncoding=utf8即可支持utf8mb4,不需要修改mysql服务端配置
MySQL Connector/J 8.0
8.0.12及以下
这些版本必须在mysql服务端配置文件中设置character_set_server=utf8mb4,连接字符串可以设置characterEncoding=utf8或者不设置characterEncoding。
8.0.13及以下
这些版本仅需要在mysql连接字符串中指定characterEncoding=utf8即可支持utf8mb4,不需要修改mysql服务端配置