首先数据库存入emoji表情数据库字符集需要是uft8mb4 字符集. uft8mb4 是utf-8的超集
添加emoji表情sql
UPDATE `so` SET `delivery_remark`=x'F09F9A8A' WHERE `id` = 14497144169653;
如果程序不行就看这三部
(1)修改mysql数据库的编码为uft8mb4
(2)修改数据表的编码为utf8mb4
(3)修改连接数据库的连接代码
重启数据库
修改数据库字符集 character_set_server 后一定要重启数据库要不不生效本人踩过坑。
注意:
- mysql的版本不能太低,低于5.5.3的版本不支持utf8mb4编码。
- 若出现仍未生效的情况,可考虑修改mysql数据库对于字符的配置,以及相应的表对于字符的配置。
- 对于5.1.46及更早版本jdb-connector,要使用utf8mb4字符集进行连接,服务器必须配置character_set_server=utf8mb4;如果不是这样,则在连接字符串中使用UTF-8进行字符编码时,它将映射到MySQL字符集名称utf8,这是utf8mb3的别名。
-
autoReconnect=true : 如果你已经升级好了mysql-connector,其中的characterEncoding=utf8可以被自动被识别为utf8mb4(当然也兼容原来的utf8),而autoReconnect配置我强烈建议配上,我之前就是忽略了这个属性,导致因为缓存缘故,没有读取到DB最新配置,导致一直无法使用utf8mb4字符集,多么痛的领悟!!
数据库链接字符串
characterEncoding=utf-8
character_set_server=utf8mb4
参考:https://www.cnblogs.com/chyingp/p/mysql-character-set-collation.html
官网说明:https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html
参考:https://blog.csdn.net/hzw19920329/article/details/55670782
参考:https://www.cnblogs.com/silenceshining/p/12556131.html