首页 >Java >java教程 >java处理数据库不支持emoji表情符怎么解决

java处理数据库不支持emoji表情符怎么解决

PHPz
PHPz转载
2023-05-10 17:34:131454浏览

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

}

}

以上是java处理数据库不支持emoji表情符怎么解决的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:yisu.com。如有侵权,请联系admin@php.cn删除