java处理数据库不支持的emoji表情符问题解决

这篇文章主要介绍了java处理数据库不支持的emoji表情符问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一般数据库的编码是utf8,utf8是不支持存储表情符的,当存入的微信暱称带有表情符时就会出现乱码情况,有两种解决方法:

1.mysql数据库升级到5.5版本以上,utf8改为utf8mb4,utf8mb4的字符最多可以是4个字节,可以存储表情符,重启数据库服务器,这种方式有可能会失效;

2.在java代码里过滤掉表情符,简洁高效,下面是过滤掉表情符的工具类:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EmojiUtil {
  public static String replace(String input) {
    if (!StringUtil.isEmpty(input)) {
      String patternStr = "[^\\u0000-\\uFFFF]";
      Pattern pattern = Pattern.compile(patternStr, Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
      Matcher matcher = pattern.matcher(input);
      input = matcher.replaceAll("");
    }
    return input;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持神马文库。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章