python mysql中查询数据,结果中文显示乱码

利用python写程序从mysql中读取数据写入excel中,结果发现中文显示乱码。

网上搜索了下方法:

  Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8), 同时文件保存的格式也应该是utf8
    MySQL数据库charset=utf-8 ,数据库的编码必须是utf8
    python连接MySQL时加上编码参数 conn = MySQLdb.Connection(host='localhost', user='root', passwd='123', db='test',charset='utf8')
    设置Python默认编码(个人感觉此无太多意义)

reload(sys)

sys.setdefaultencoding('utf-8')

二种

tmp = str(row[2])
tmp = tmp.decode('utf-8')


我的实际情况是将连接字符串加上charset=‘utf8’,成功。如下:(当然我的python文件设置编码为utf-8,mysql的编码也是utf-8)
MySQLdb.Connection(host='localhost', user='root', passwd='123', db='test',charset='utf8')

posted @ 2013-03-12 13:48  马僧  阅读(11109)  评论(0编辑  收藏  举报