调用微信接口获取用户昵称包含表情符号的,保存mysql 数据库报错, 原因是mysql 编码不支持 Emoji表情。
/**
* 过滤emoji表情
* @param source
* @return
*/
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;
}