'ascii'编解码器无法编码位置2307-2309中的字符:序数不在范围内(128)

时间:2015-02-18 22:11:56

标签: python python-2.7 unicode python-requests

我正在使用请求lib发出请求,正如在页面编码为utf-8的内容中可以看到的那样,请求使用的默认值是utf-8,如r.encoding中所示,但为什么会显示读取文本时出现unicode错误。

r = requests.get(url, auth=('username', 'password'))

print r.status_code
print r.encoding
print r.content

print r.text

输出:

200
UTF-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Sign In</title><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/><meta http-equiv="content-type" content="text/html; charset=utf-8"/>.............

Traceback (most recent call last):
  File "E:\Python practise programms\reuters.py", line 18, in <module>
    print r.text
UnicodeEncodeError: 'ascii' codec can't encode characters in position 2307-2309: ordinal not in range(128)

1 个答案:

答案 0 :(得分:1)

这是由于默认情况下不支持utf-8的崇高文本。我能够在python IDLE

中获得输出