環(huán)境
python版本: 3.5.0
編輯器: vscode,用code runner插件運(yùn)行
抓取網(wǎng)頁:新浪首頁
代碼
import requests
main_url = 'http://www.sina.com.cn/'
res = requests.get(main_url)
res.encoding = 'utf-8'
print(res.text)
運(yùn)行結(jié)果
用cmd窗口的運(yùn)行出現(xiàn)同樣的錯(cuò)誤
問題:
UnicodeEncodeError: 'gbk' codec can't encode character '\xa5' in position 68196: illegal multibyte sequence
信息
網(wǎng)頁編碼: utf-8
windows默認(rèn)編碼: GBK
python3默認(rèn)編碼:utf-8
vscode文件編碼:utf-8
分析
windows cmd默認(rèn)編碼是GBK
GBK無法解析有些utf-8的字符
vscode runner可能不支持打印有些utf-8的字符
查找vscode code runner插件github發(fā)現(xiàn)下面鏈接
https://github.com/formulahendry/vscode-code-runner/issues/25
結(jié)論:vscode code runner目前無法支持utf-8
解決
vscode code runner無法支持utf-8绳慎,能否讓cmd窗口支持utf-8呢
查找到結(jié)果
http://www.cnblogs.com/QQParadise/articles/1685177.html
修改cmd窗口的代碼頁
執(zhí)行下面命令
chcp 65001
將cmd窗口編碼設(shè)置位utf-8报腔,運(yùn)行剛才的代碼薛训,打印正常馅巷,問題解決
修改完代碼頁后急前,會(huì)發(fā)現(xiàn)cmd窗口設(shè)置字體的地方多了幾個(gè)字體狈网,將字體設(shè)置為Consolas,窗口也變漂亮很多
等待vscode code runner下一個(gè)版本支持utf-8