python设置utf-8为默认编码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python设置utf-8为默认编码相关的知识,希望对你有一定的参考价值。

当使用Python编程时,编码问题一直很让人头疼,程序中经常会碰到如下错误提示:

UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0x?? in position 1: ordinal not in range(128)

这是由于python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报上面的错误。

对于上面问题,一般有2种处理方法:

方法1:

在python代码开头加上如下代码块:

 

[python] view plain copy
 
  1. import sys  
  2. reload(sys)  
  3. sys.setdefaultencoding(‘utf8‘)  

这种方法是临时的,只在程序执行时生效,系统默认编码并没有改变。

 

方法2:

python安装时默认编码是ascii,通过sys.getdefaultencoding()可以查看默认编码。为了一次性解决问题,我们可以修改python的默认编码。具体操作如下:

第一步:

在python安装目录的Lib\site-packages文件夹下新建一个sitecustomize.py文件

第二步:

在sitecustomize.py填写如下代码

 


 
  1. # encoding=utf8  
  2. import sys  
  3.   
  4. reload(sys)  
  5. sys.setdefaultencoding(‘utf8‘)  

第三步:重启python,通过sys.getdefaultencoding()查看默认编码,这时结果为‘utf8‘




以上是关于python设置utf-8为默认编码的主要内容,如果未能解决你的问题,请参考以下文章

设置utf-8为默认编码

如何设置python的编码格式为utf-8

为整个应用设置 Python27 Google AppEngine 默认编码

Python设定系统默认编码

Python小知识点(持续更新)

编码注释与变量