技术运维问题 - MYSQL使用 -RDS MySQL使用utf8mb4字符集存储emoji表情-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

技术运维问题 - MYSQL使用 -RDS MySQL使用utf8mb4字符集存储emoji表情

2018-09-23 00:16:26 1550 0

1. 基本原则
2. 三个条件的说明
2.1 应用客户端
2.2 应用到 RDS MySQL 实例的连接
2.3 RDS 实例配置
3. 通过 set names 命令设置会话字符集


1. 基本原则


如果要实现存储 emoji 表情到 RDS MySQL 实例,需要客户端、到 RDS MySQL 实例的连接、RDS 实例内部 3 个方面统一使用或者支持 utf8mb4 字符集。
注:关于 utf8mb4 字符集,请参考 MySQL 官方文档

2. 三个条件的说明



2.1 应用客户端


客户端需要保证输出的字符串的字符集为 utf8mb4。

2.2 应用到 RDS MySQL 实例的连接


以常见的 JDBC 连接为例:

  • 对于 JDBC 连接,需要使用 MySQL Connector/J 5.1.13(含)以上的版本。

  • JDBC 的连接串中,建议不配置 characterEncoding 选项。

注:关于 MySQL Connector/J 5.1.13,请参考 MySQL 官方 Release Notes

2.3 RDS 实例配置


Step 1. 在控制台 [/url] 参数配置 中修改 character_set_server 参数为 utf8mb4。
[url=http://img01.taobaocdn.com/tfscom/TB1pQQWHXXXXXasXFXXXXXXXXXX.png]
Step 2. 设置库的字符集为 utf8mb4
[url=http://img01.taobaocdn.com/tfscom/TB1VrQ6HXXXXXXgXpXXXXXXXXXX.png]
Step 3. 设置表的字符集为 utf8mb4
[url=http://img01.taobaocdn.com/tfscom/TB163g5HXXXXXX0XpXXXXXXXXXX.png]

3. 通过 set names 命令设置会话字符集


对于 JDBC 连接串设置了 characterEncoding 为 utf8 或者做了上述配置仍旧无法正常插入emoji数据的情况,建议在代码中指定连接的字符集为 utf8mb4,样例代码如下:

  1. String query = set names utf8mb4”; stat.execute(query);


如问题还未解决,请联系[url=https://selfservice.console.aliyun.com/ticket/createIndex.htm]售后技术支持
取消 提交回答
全部回答(0)
相关问答

1

回答

用了RDS的mysql,还能用canal之类的读binlog来做一些数据同步的事吗?

2020-04-15 11:04:33 615浏览量 回答数 1

4

回答

用了RDS的mysql,还能用canal之类的读binlog来做一些数据同步的事吗?

2015-04-09 16:25:48 14976浏览量 回答数 4

4

回答

用了RDS的mysql,还能用canal之类的读binlog来做一些数据同步的事吗?

2015-04-09 16:24:37 9309浏览量 回答数 4

1

回答

【RDS】RDS MySQL如何使用utf8mb4字符集存储emoji表情?

2022-01-14 15:02:34 1016浏览量 回答数 1

1

回答

RDS MySQL迁移至AnalyticDB MySQL 3.0中源库限制的说明是什么?

2021-12-14 16:12:24 382浏览量 回答数 1

1

回答

RDS MySQL迁移至PolarDB MySQL中其他限制的说明是什么?

2021-12-14 15:52:42 126浏览量 回答数 1

1

回答

RDS MySQL实例间的同步的其他限制的说明是什么?

2021-12-12 21:44:56 98浏览量 回答数 1

1

回答

RDS MySQL同步至PolarDB MySQL集群中支持的同步架构是什么?

2021-12-12 22:38:14 126浏览量 回答数 1

1

回答

RDS mysql数据库用户名填写完 并没有提示我输入密码

2017-01-17 15:15:01 2605浏览量 回答数 1

0

回答

RDSmysql数据库不能用identity作为数据库名如何解决

2015-03-27 18:27:42 4313浏览量 回答数 0
+关注
梨好橙
4年前:计科小白 现在:计科老白
12
文章
467
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载