码迷,mamicode.com
首页 > 数据库 > 详细

python从数据库中获取utf8格式的中文数据输出时变成问号或乱码

时间:2016-06-24 16:05:12      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:

    我用python操作mysql数据库,数据库中数据格式为utf8,我使用python调用select语句后获取到数据库的信息,然后使用print打印出来的时候,原本中文数据却无法显示,显示出来的是一串?,为了解决这个问题,我也是绞尽脑汁啊。

    我在网上搜集了很多资料,大家都说是windows默认的格式是‘GBK‘,输出从mysql数据库中获取到的中文数据时,需要这样写:

假设info是从数据库中获取的中文值
print info.decode('UTF-8').encode('GBK')

结果:

技术分享

但是,我这样试了很多遍还是没有解决问题,还是输出?,也有人的观点是说在链接数据库的时候传入编码格式

db = MySQLdb.connect(‘localhost‘,‘root‘,‘‘,"zou",3306,‘utf8‘)

结果:

 技术分享    

这样还是没有达到预期的效果,不过他这次不是出现?,而是变成乱码了,不过到这里的话已经朝着好的方向发展。


最终,我结合上述两种观点,达到了目的^_^

具体操作可以看看我的代码:

技术分享

这次再看看程序运行的结果:

技术分享

好的,问题解决!

python从数据库中获取utf8格式的中文数据输出时变成问号或乱码

标签:

原文地址:http://blog.csdn.net/zr1076311296/article/details/51727658

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!