问题说明
vscode在不改变配置的情况下,终端能够正常显示中文,但是在输出界面中文未能正常显示
例如
在对编码后的url参数进行解码时,解码内容往往有中文。
from urllib import parse
qs = "name=%E7%88%AC%E8%99%AB%E5%9F%BA%E7%A1%80&greet=hello+world&age=100"
print(parse.parse_qs(qs))
输出测试
{'name': ['�������'], 'greet': ['hello world'], 'age': ['100']}
解决办法
在代码的开头加入如下代码,将编码方式改为utf-8
。
import io
import sys
#改变标准输出的默认编码
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
输出结果显示
{'name': ['爬虫基础'], 'greet': ['hello world'], 'age': ['100']}