一、修改数据库
1)首先修改数据字符集
2)修改涉及此问题的表字段字符集
3)修改数据库连接池配置
我们项目用的是阿里巴巴的DruidDataSource数据库连接池,贴一下修改位置
- 1
- 2
- 3
- 4
如果是apache的BasicDataSource
4)jdbc连接串设置:
jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf8
建议删除useUnicode=true&characterEncoding=utf8,
5)其他问题:
1.MySQL版本要求:不低于5.5.3(不支持utf8mb4编码)
2.JDBC驱动版本要求:mysql connector版本高于5.1.13
二、修改代码
/**
* 将emoji表情替换成空串
*
* @param source
* @return 过滤后的字符串
*/
public static String filterEmoji(String source) {
if (source != null && source.length() > 0) {
return source.replaceAll("[\ud800\udc00-\udbff\udfff\ud800-\udfff]", "");
} else {
return source;
}
}