生产环境表情符录入异常:Incorrect string value: '\xB0...' for column...

JAVA学习网 2017-06-25 22:01:02

公司用的是mysql5.6,该异常是mysql字符集问题,mysql支持的 utf8编码最大字符长度为 3 字节,如果遇到表情符这样的4 字节的字符就会插入异常。
解决方法:
1.在数据库层面处理,重新设置数据库编码,对数据库数据进行迁移,对单数据库应用需停机操作;
2.在程序中进行处理,一般项目都使用了连接池,可以在物理连接初始化的时候执行set names utf8mb4;
c3p0druid
  a.c3p0参考:配置文件1配置文件2InitSqlConnectionCustomizer扩展类具体使用
  b.druid参考:园子里找的一个阿里druid 介绍及配置,这里关注connectionInitSqls/initConnectionSqls属性;
收工。

阅读(805) 评论(0)