更新时间:2023-12-20 GMT+08:00
使用utf8mb4字符集存储emoji表情到RDS for MySQL实例
如果要实现存储emoji表情到RDS for MySQL实例,需要如下几方面统一使用或者支持utf8mb4字符集。
- 客户端:保证客户端输出的字符串的字符集为utf8mb4。
- 应用到RDS实例的连接:支持utf8mb4字符集。以常见的JDBC连接为例,需要使用MySQL Connector/J 5.1.13(含)以上的版本,JDBC的连接串中,建议不配置“characterEncoding”选项。
- RDS实例配置如下:
- 设置控制台参数“character_set_server”为“utf8mb4”
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域和项目。
- 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
- 在“实例管理”页面,选择指定的实例,单击实例名称,进入实例的基本信息页面。
- 在左侧导航栏中选择“参数修改”,在“参数”页签选择“character_set_server”,参数值修改为“utf8mb4”。
- 单击“保存”,在弹出框中单击“是”,保存修改。
- 选择数据库的字符集为utf8mb4
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域和项目。
- 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
- 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“基本信息”页。
- 在左侧导航栏,单击“数据库管理”,单击“创建数据库”,在弹出框中输入数据库名称、备注、选择字符集并授权数据库账号,单击“确定”。
图1 创建数据库
- 配置表的字符集为utf8mb4
- 设置控制台参数“character_set_server”为“utf8mb4”
常见问题
如果您对于JDBC连接串设置了characterEncoding为utf8,或者执行过上述操作后,仍旧无法正常插入emoji数据,建议您按照如下示例,在代码中指定连接的字符集为utf8mb4:
String query = "set names utf8mb4"; stat.execute(query);
父主题: 数据库参数修改
数据库参数修改 所有常见问题
- 哪些参数设置不合理会导致数据库不可用(RDS for PostgreSQL)
- 如何修改时区
- RDS for MySQL密码过期策略
- 如何修改云数据库RDS的事务隔离等级
- 如何确保RDS for MySQL数据库字符集正确
- RDS for PostgreSQL是否支持test_decoding插件
- 使用utf8mb4字符集存储emoji表情到RDS for MySQL实例
- 如何在RDS for SQL Server数据库添加ndf文件的路径
- 是否支持使用SQL命令修改全局参数
- RDS for SQL Server字符集排序规则(collation)如何修改
- 云数据库 RDS for MySQL如何设置表名是否区分大小写
- RDS for MySQL支持开启查询缓存吗
- RDS for PostgreSQL修改参数temp_file_limit
more