摘抄来自:http:///how-to-use-utf-8-with-python
python 中获得系统默认编码为: import sys
print sys.getdefaultencoding()
而修改系统默认编码应写为: import sys
reload(sys)
sys.setdefaultencoding('UTF-8')
为什么需要一个看似多余的reload(sys)呢? 先看下python的模块加载过程: # python -v
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# /usr/local/lib/python2.6/site.pyc matches /usr/local/lib/python2.6/site.py
import site # precompiled from /usr/local/lib/python2.6/site.pyc
....
Python运行的时候首先加载了site.py,在site.py文件里有这么一段代码: if hasattr(sys, "setdefaultencoding"):
del sys.setdefaultencoding
在sys加载后,setdefaultencoding方法被删除了,所以我们要通过重新导入sys来设置系统编码.
|