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

一、原因分析:

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

现在我们来分析

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

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

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

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

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

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

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

 

 

你可能感兴趣的:(数据库)