使用python输出u'你好世界' 时报此错误。


通过网上查找发现原来python的编码和解码是两个过程。

我们在编码的时候在文件头指定编码为utf-8

#coding:utf-8

然而在输出的时候,u'你好世界'是unicode编码。我们的默认编码是ascii 所以在转中文时出现此错误。

我们做如下设置就可以解决此问题

import sys

print sys.getdefaultencoding()
reload(sys)
sys.setdefaultencoding('utf-8')
print sys.getdefaultencoding()