今日刚开始学习py,在弄到数据库的时候遇到了一些问题。
我的mysql中的各个字段均为utf8编码。在py中读取时会出现乱码。google了一下,看到一种方法,试用后解决了乱码问题。但是我对其中的一句有所不解
方法如下:
1.在py文件加上
# encoding=utf-8
2.在MySQLdb.connect()函数的最后加上
charset='utf8'
3.在py代码中加上
import sys
reload(sys)
sys.setdefaultencoding('utf8')
我查了一下资料,那句reload(sys)似乎是动态重新加载sys模块,有的资料说在正式运行时不建议使用这个函数。
我去掉reload(sys)一句后,py解释器会报错说sys模块没有setdefaultencoding“属性”(py是这么说的...),使用help(sys)也只看得到setdefaultencoding这个方法。但是只要不去掉那一句就一切正常。我想知道这是为什么?
谢谢!