java处理数据库不支持的emoji表情符问题解决
一般数据库的编码是utf8,utf8是不支持存储表情符的,当存入的微信昵称带有表情符时就会出现乱码情况,有两种解决方法:
1.mysql数据库升级到5.5版本以上,utf8改为utf8mb4,utf8mb4的字符最多可以是4个字节,可以存储表情符,重启数据库服务器,这种方式有可能会失效;
2.在java代码里过滤掉表情符,简洁高效,下面是过滤掉表情符的工具类:
importjava.util.regex.Matcher; importjava.util.regex.Pattern; publicclassEmojiUtil{ publicstaticStringreplace(Stringinput){ if(!StringUtil.isEmpty(input)){ StringpatternStr="[^\\u0000-\\uFFFF]"; Patternpattern=Pattern.compile(patternStr,Pattern.UNICODE_CASE|Pattern.CASE_INSENSITIVE); Matchermatcher=pattern.matcher(input); input=matcher.replaceAll(""); } returninput; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。