python的str默认是ascii编码,和unicode编码冲突,因此经常会报以下错误:
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128)
解决这个问题很简单,只要在代码加入以下语句:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
代码是不报错了,但如果使用matplotlib.pyplot进行绘图时,图表的标题等位置带中文的话,还是会显示为乱码。
可以在代码中加入以下语句,即可顺利带上中文:
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False