爬虫出现UnicodeEncodeError: ‘latin-1’ codec can’t encode character *** in position 8328: Body问题*
问题描述:向某一网址提交POST请求时引起:
------ UnicodeEncodeError: ‘latin-1’ codec can’t encode character ‘\u202c’ in position 8328: Body (’\u202c’) is not valid Latin-1. Use body.encode(‘utf-8’) if you want to send it encoded in UTF-8.错误
网上在参数后面加encode(‘utf-8’).decode(‘latin1’)问题未能解决。
这个问题的出现是提交的参数编码错误导致的,那么第一步就是确定到底是哪一个参数出了问题。
查看日志发现提交的参数莫名其妙出现了图示字符:
我将其复制到sublime编辑器中,发现参数是正常的:
将其输出到pycharm控制台,发现参数后面多了\u2020c这5个字符:
于是我在每次修改该参数前,先str(),然后去除多出来的\u2020c,再提交POST请求,问题解决。