阿里云MySQL RDS设置utf8mb4字符集

时间:2022-02-09 17:09:47

MySQL设置utf8mb4需要客户端、到MySQL实例的连接、MySQL服务器都需要支持 utf8mb4 字符集。MySQL需要5.6+。

JDBC连接

JDBC 连接需要MySQL Connector/J 5.1.13以上版本,maven pom.xml配置:

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.19</version>
</dependency>

jdbc连接使用characterEncoding=utf8

jdbc:mysql://xxxx.mysql.rds.aliyuncs.com:3888/mydb?useUnicode=true&characterEncoding=UTF-8

RDS 实例配置

1、在控制台 ->  参数配置 中修改 character_set_server 参数为 utf8mb4。

2、设置库的字符集为 utf8mb4

阿里云MySQL RDS设置utf8mb4字符集

set names utf8mb4

对连接设置utf8mb4,这里使用set names utf8mb4。很多数据库连接池有属性connectionInitSqls,它是创建连接时,先执行sql。如DruidDataSource

<bean  class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 基本属性 url、user、password -->
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- .... -->
<property name="connectionInitSqls" value="set names utf8mb4;" />
</bean>