今天做搜索功能的时候发现用户提交的emoji的符号上来搜索,导致mysql数据库中的字段like的时候发生字符集类型不匹配的错误,可能对最新的emoji支持的也不是很全面,代码如下:
代码语言:javascript复制public static String filterEmoji(String source) {
if(source != null)
{
Pattern emoji = Pattern.compile ("[ud83cudc00-ud83cudfff]|[ud83dudc00-ud83dudfff]|[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;
}