earlyup

博客园 首页 新随笔 联系 订阅 管理

最近项目中用到了Python,遇到了中文乱码问题,结合网上的资料以及自己的摸索,总结如下:

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

reload(sys)

sys.setdefaultencoding('utf-8')

  以上为网上普遍的步骤,但在我的代码仍然是乱码,于是我增加下面的操作,将查询结果转换为字符串,再把字符串编码为utf8。搞定!

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

posted on 2012-07-19 14:39  天边那朵云  阅读(1554)  评论(0编辑  收藏  举报