关于RDS MySQL使用UTF8mb4字符集存储emoji表情的一些事项
发布日期:2015-11-6 13:11:31
关于RDS MySQL使用UTF8mb4字符集存储emoji表情的一些事项 编码字符集方面:假如需要存储emoji表情,则需要客户端、到RDS MySQL实例的连接、RDS实例内部统一使用或者支持UTF8mb4字符集等几个条件。 UTF8mb4字符集方面的内容,我们可以参考MySQL官方文档: http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html 这里对几个条件分别作如下说明: 1. 客户端 客户端需必须要保证输出的字符串的字符集为UTF8mb4。 2. 到RDS MySQL 实例的连接 我们以常见的JDBC连接为例,对于JDBC连接,需要使用MySQL Connector/J 5.1.13(含)以上的版本。 而对于MySQL Connector/J 5.1.13,请参考MySQL官方Release Notes: http://dev.mysql.com/doc/relnotes/connector-j/en/news-5-1-13.html JDBC 的连接串中,我们建议不配置characterEncoding选项,若想要配置,建议将其配置为UTF8。 3. RDS实例配置如下: 3.1 在【控制台】->【参数配置】中修改character_set_server参数为UTF8mb4。
4. 对于JDBC连接串设置了characterEncoding为UTF8 或者做了上述配置依然无法正常插入emoji数据的情况,建议在代码中指定连接的字符集为UTF8mb4,参考样例代码如下: String query = "set names utf8mb4"; stat.execute(query);
|