python字符编码问题

最近用Python写项目。写代码的时候,经常出现字符编码错误。

1
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)

ASCII编码和Unicode编码

默认情况下,Python采用的是ascii编码方式,当代码中出现Unicode编码的时候,就会报错。比如文件里面输入中文,就会报这个错误。

解决办法

第一种

在每个py文件开头加上 # coding: utf-8

第二种

在/python2.7/site-packages/目录下添加一个sitecustomize.py文件,内容如下:
import sys
sys.setdefaultencoding(‘utf-8’)