Python3—UnicodeEncodeError 'ascii' codec can't encode characters in position
检测输出编码
>>> import sys
>>> sys.stdout.encoding
'ANSI_X3.4-1968'
竟然是ANSI_X3.4-1968,所以任何中文都会报错。。
解决方案
1. 使用PYTHONIOENCODING: 运行python的时候加上PYTHONIOENCODING=utf-8,即
PYTHONIOENCODING=utf-8 python your_script.py
2. 重新定义标准输出,标准输出的定义如下
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
打印日志的方法
sys.stdout.write("Your content....")