emoji表情字符串 mysql 普通 utf8 格式无法存入

时间:2022-06-26 10:34:42
处理方法:
1.在可以忽略emoji表情的情况下,可以选择将emoji表情字符过滤掉,这样不用动mysql 表结构
   过滤Java代码参考如下:
   
public static String filterEmoji(String source) {
        if(source != null)
        {
            Pattern emoji = Pattern.compile ("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",Pattern.UNICODE_CASE | Pattern . CASE_INSENSITIVE ) ;
            Matcher emojiMatcher = emoji.matcher(source);
            if ( emojiMatcher.find())
            {
                source = emojiMatcher.replaceAll("*");
                return source ;
            }
            return source;
        }
        return source;
  }

  

2.如果不可以忽略,则需要修改表结构,使其能够支持emoji存储,Mysql 字符:utf8mb4