java处理数据库不支持的emoji
2024-09-24 04:27:02
一般数据库的编码是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;
}
}
最新文章
- 前端HTML规范
- apt-get整理(草稿)
- InputStreamReader和OutputStreamWriter
- DNS原理及其解析过程(转)
- Turn the pokers
- html-----001
- smarty半小时快速上手教程(转)
- 执行引擎子系统——JVM之五
- LeetCode Day4——Factorial Trailing Zeroes
- python列表和QVariant
- HDU 4790 Just Random 数学
- 导出excel记录
- SpringBoot简单入门
- JDBC复习2
- you can't add a reference to Newtonsoft.Json.dll as it was not built against the silverlight runtime
- es6 2017
- vs2017如何设置类或函数前不显示引用的数量
- linux ~/ 和 /
- ASP.NET学习笔记(2)——用户增删改查
- dbus通信与接口介绍