项目中有时需要过滤掉四字节以上的字符(表情),比如mysql数据库5.5.3以下的版本text字段不支持四字节以上字符

于是就需要过滤掉再入库,python中的方法为:

  1.  
    try:
  2.  
    # python UCS-4 build的处理方式
  3.  
    highpoints = re.compile(u'[\U00010000-\U0010ffff]')
  4.  
    except re.error:
  5.  
    # python UCS-2 build的处理方式
  6.  
    highpoints = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')
     
    ----------------------------------------------------------------------------------

    后来发现,发现这问题的原因是:UTF-8编码中文的字节通常是3-4字节,Emoji表情是4字节,读写数据库稍不留神就报错!

    哈哈哈哈哈哈发现问题就简单了,目前我们文本分析不需要分析表情包,我决定把它们都删了!

     

    然后:emoji官网,https://pypi.org/project/emoji/(靠谱的emoji处理库)

    安装 pip install emoji

    清除命令:

    emoji.demojize(str)

     

相关文章:

  • 2021-10-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-25
  • 2021-04-09
  • 2021-05-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-28
相关资源
相似解决方案