有一个项目需要存储ios的表情(emoji表情)
这种表情虽然是utf8编码,但是一个字符需要占用4个字节,而MySQL utf8编码只能存放3字节的字符。
在MySQL 5.6中,可以设置编码为utf8mb4,这个字符集是utf8的超集。
首先,修改mysql的配置文件
character_set_server=utf8mb4
然后重启数据库和中间件.
点击两个测试的链接,查看数据库,发现数据成功插入。
不过还有三种方式可以设置字符集
1.不显式设置字符集,继承服务器的配置
2.在执行SQL之前,运行set names 的查询 (Query方式)
备注: mybatis-config.xml可以<property name="house-keeping-test-sql" value="set names utf8mb4"/>
3.设置MySQL init_connect参数
经过测试各种因素的结果如下所示:
|
JDBC版本
|
普通中文
|
苹果表情
|
服务器utf8编码
|
5.1.6
|
正常
|