One - One Code All

Blog Content

Python3—UnicodeEncodeError 'ascii' codec can't encode characters in position

Python   2016-02-13 08:31:11

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....")



上一篇:Postgresql UNION 和UNION ALL 用法以及应用场景
下一篇:基于Pandas的DataFrame、Series对象的apply方法

The minute you think of giving up, think of the reason why you held on so long.