处理emoji表情符编码

emoji表情符,在ios 5输入法中加入,emoji音译过来大概读作“诶磨叽” 。现在的android,ios中都可以输入emoji表情符, 但存入mysql数据库会出错。
java.sql.SQLException: Incorrect string value: ‘//xF0//x9F//x8C//x80’ for column
原因就是 因为 UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。
解决方案: 1,将mysql的编码从utf8转换成utf8mb4。
解决方案: 2, 过滤掉emoji字符
javascript 代码过滤输入字符
“`

“`java代码判断是否有输入emoji字符,如果有输入则返回提示
“`
/**
* 判断是否有表情符
* @param input
* @return
*/
private Boolean checkEmojiChar(String input){
Boolean result =false;
if(StringUtils.isBlank(input)){
return false;
}

Pattern emoji=Pattern.compile(
"[/ud83c/udc00-/ud83c/udfff]|[/ud83d/udc00-/ud83d/udfff]|[/u2600-/u27ff]",
Pattern.UNICODE_CASE|Pattern.CASE_INSENSITIVE);

java.util.regex.Matcher m = emoji.matcher(input);
if(m.find()){
result=true;
}
return result;
}
“`