my存入表情符号emoji MYSQL: Caused by: java.sql.SQLException: Incorrect string value:

本文详细介绍了如何在MySQL数据库中正确设置utf8mb4字符集,以支持emoji表情和其他四字节Unicode字符。包括修改数据库、数据表编码,以及连接数据库的配置,并强调了重启数据库的重要性。

首先数据库存入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.youkuaiyun.com/hzw19920329/article/details/55670782

参考:https://www.cnblogs.com/silenceshining/p/12556131.html

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值