关闭

java字符串中Emoji表情处理

标签: javamysql爬虫
5217人阅读 评论(0) 收藏 举报
分类:

在爬虫获取字符串内容时,遇到内容中有手机表情,存入数据库是报错!网上找了半天,发现好多人不去实验一下就复制别人的代码网上发,然后导致我拿来用直接不行。最终找到一个可以行办法,在此总结一下:
方法主要有两个:
第一,修改数据库字符集:
这种方法需要的硬性要求就是你的mysql数据库版本5.5以后的。一般有数据库管理工具的,直接打开改了就是了,比如我用的HeidiSQL,直接把表改为utf8mb4就可以了。这种方法简单省事,但是可能需要重启数据库。还有个问题是,有时候这方法不太灵,我第一次用这个方法,完美解决的问题,但是第二次,说啥都不好使。所以,这种方式还是不推荐了。
第二,将这些表情过滤掉
既然数据库不能保存,那就直接把这些表情过滤掉好了。这种情况是损坏客户的个性而让服务更便捷的一张方式。目前很多网站就是这么干的,毕竟效率是关键,你这表情即便保存了,也说不定哪里再次用到,展示不了。
建议做成工具方法,方便实用,亲测可行。

/**
     * emoji表情替换
     *
     * @param source 原字符串
     * @param slipStr emoji表情替换成的字符串                
     * @return 过滤后的字符串
     */
    public static String filterEmoji(String source,String slipStr) {
        if(StringUtils.isNotBlank(source)){
            return source.replaceAll("[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff]", slipStr);
        }else{
            return source;
        }
    }

原文:http://www.3fwork.com/b200/004985MYM000642/

1
2

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:41478次
    • 积分:589
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:21篇
    • 译文:2篇
    • 评论:6条
    最新评论