解决UnicodeEncodeError: 'gbk' codec can't encode character u'\xa0' in position 148

背景:
由于最近公司的业务需要,对数据库中的数据进行文章分类并打上对应的标签属性。最后选择调用百度云的人工智能文本分析aip接口。

百度云的文本分析接口文档如下:
在这里插入图片描述
需要接收一个content和title字段作为文本分析。

正常情况下,读取数据库content和title字段直接传入就可以了。要命的是,当初产品决定content内存入的是html文本信息,方便前端页面的展示。

所以我们需要先对读取出的html文本进行处理。

结果,就出了幺蛾子了!!!

处理后的文本传入 aip接口运行时爆出bug:

UnicodeEncodeError: ‘gbk’ codec can’t encode character u’\xa0’ in position 148

翻译过来的意思就是: UnicodeEncodeError unicode编码错误: ‘gbk’编解码器无法在148位编码字符u’\xa0’

出现问题的原因是:本身Unicode类型的字符中,包含了一些无法转换为GBK编码的一些字符。比如说u’\xa0’

网上的解决方法有很多, 怎么舒服怎么来,选用最简单的方法就是去除u’\xa0’,

text.replace(u’\xa0’, u’ ')在这里插入图片描述

问题完美解决了。perfect!!


版权声明:本文为mygodit原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。