mysql数据库报错Data truncation: Incorrect string value: '\xF0\x9F\x98\x8A' for column ``.``,分析及解决方法

一、原因分析:

一般来说,出现这个问题的情况是 手机app发出表情--》传到java后台--》存到数据库

现在我们来分析

    所以说要注意几个地方1.java要保证可以识别表情 2.表情从java传到数据库要保证可以识别 3.mysql要支持表情字符

 二、解决重点:网上看了好多解决类似的方法,但是都没有太多分析,其实我们在解决这个问题时,要从以上3个方面支持,据我现在了解的,java本身是支持的,所以1不用我们去处理,而向数据库传输过程中是存在问题的

看上图,client和connection如果是utf8,就会在2中报此错误  可以在java中执行存储过程前先执行sql语句 set names utf8mb4

至于3,如果设置数据库是utf8,就要改为utf8mb4了,否则也会报错

三、总结:我们在改这个问题时,往往只关注数据库编码集为utf8mb4,但是发现改完后还是报错,就要检查一下2是不是也修改了

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值