今天做搜索功能的时候发现用户提交的emoji的符号上来搜索,导致mysql数据库中的字段like的时候发生字符集类型不匹配的错误,可能对最新的emoji支持的也不是很全面,代码如下:
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;
}
了解 工作生活心情记忆 的更多信息
Subscribe to get the latest posts sent to your email.