解决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!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值