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

'ascii' codec can't encode characters in position 2307-2309: ordinal not in range(128)

我正在使用请求库发出请求,从内容中可以看出页面的编码是 utf-8,请求使用的默认值也是 r.encoding 中看到的 utf-8,但是为什么在阅读文本时显示 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)

这是因为 sublime text 默认不支持 utf-8。我能够在 python IDLE

中获得输出