python在安装时,默认的编码是ascii,python
当程序中出现非ascii编码时,--中文以及注释编码
python的处理经常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),spa
python没办法处理非ascii编码的,code
此时须要本身设置将python的默认编码,orm
通常设置为utf8的编码格式。ci
查询系统默认编码能够在解释器中输入如下命令:get
Python代码 it
>>>sys.getdefaultencoding() io
设置默认编码时使用:import
Python代码
>>>sys.setdefaultencoding('utf8')
在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了,因此须要添加下面语句
reload(sys)
有2种方法设置python的默认编码:
一个解决的方案在程序中加入如下代码:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
另外一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')