hive的udf,过滤表情等非法字符
实际工作环境中hive导出数据到Mysql,总是报错
ncorrect string value: ‘\xF0\x9F\x98\x97\xF0\x9F…’
这是由于手机表情不支持UTF-8的
运营那边需要nickname,所以就将昵称中的表情过滤掉
1.写过滤表情逻辑
/*** Created by Liutao on 2019/5/22 16:31*/
public class FilterEmo extends UDF {public String evaluate(String str) {StringBuffer out = new StringBuffer();if (str == null || ("".equals(str)))return "";char[] chars = str.toCharArray();for(int i = 0; i < chars.length; i ++) {if((chars[i] >= 19968 && chars[i] <= 40869) //中日朝兼容形式的unicode编码范围: U+4E00——U+9FA5|| (chars[i] >= 11904 && chars[i] <= 42191)//中日朝兼容形式扩展|| (chars[i] >= 63744 && chars[i] <= 64255)//中日朝兼容形式扩展|| (chars[i] >= 65072 && chars[i] <= 65103)//中日朝兼容
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
