mysql保存不了4字节的问题(也就是表情)

这个问题   https://blog.csdn.net/ppwangGS/article/details/62044887 

有详细的解决办法 这里我就是记录一下我遇到的问题

 

这种问题一般是往数据库 插入通讯录的时候碰到  (起的名字什么都有)

  

第一种方法    

数据库 设计表的时候 我们一般设置varchar一般是utf8   utf8_general_ci    如果出现这种状态 那么改成 utf8mb4  utf8m64_general_ci   

当然这种方法不一定管用  我碰到过两次这个问题  第一次就这样修改的没有起作用 用的第二种方法   第二次修改完美解决  这应该和数据库的配置有关系

 

第二种方法

 

我们如果碰到这种4字节(一般是表情) 那么我们可以用java识别出来 然后替换成 ** 或者  “”      这就是复制的了  亲测可用


public static String filterEmoji(String source,String slipStr) {
if(StringUtils.isNotBlank(source)){
return source.replaceAll("[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff]", slipStr);
}else{
return source;
}
}

 

posted @ 2018-05-24 10:33  丁一江  阅读(347)  评论(0编辑  收藏  举报