请求响应中的非'ascii'字符

时间:2017-05-19 06:50:55

标签: python python-3.x unicode python-requests

我使用请求从API源获取json数据

req = requests.get('url')
context = json.loads(req.text)
print(context)

返回错误

UnicodeEncodeError at /view/
'ascii' codec can't encode characters in position 26018-26019: ordinal not in range(128)
Unicode error hint

The string that could not be encoded/decoded was: OLYURÉTHANE

我检查了req.text,但没有找到非ascii字符。它出现在json.loads(..)

之后

2 个答案:

答案 0 :(得分:2)

试试这个:

request_txt = req.text.encode('utf-8')
context = json.loads(request_txt)

您需要将.encode('utf-8')应用于引发此错误的字符串。

答案 1 :(得分:1)

尝试类似@Maninder写的内容,但不是encode()使用decode()

context = json.loads(req.text.decode("utf8"))