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

发布时间:2020-10-06 03:05:14 作者:冰湖一角
来源:脚本之家 阅读:162

一般数据库的编码是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;
  }
}

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

推荐阅读:
  1. java存储emoji表情解决方案
  2. golang emoji表情处理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java 数据库 emoji

上一篇:百度echart在ie下图表不显示的问题

下一篇:Numpy中转置transpose、T和swapaxes的实例讲解

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》