python从数据库中获取utf8格式的中文数据输出时变成问号或乱码
2016-06-21 15:50
609 查看
我用python操作mysql数据库,数据库中数据格式为utf8,我使用python调用select语句后获取到数据库的信息,然后使用print打印出来的时候,原本中文数据却无法显示,显示出来的是一串?,为了解决这个问题,我也是绞尽脑汁啊。
我在网上搜集了很多资料,大家都说是windows默认的格式是'GBK',输出从mysql数据库中获取到的中文数据时,需要这样写:
结果:
但是,我这样试了很多遍还是没有解决问题,还是输出?,也有人的观点是说在链接数据库的时候传入编码格式
db = MySQLdb.connect('localhost','root','',"zou",3306,'utf8')
结果:
这样还是没有达到预期的效果,不过他这次不是出现?,而是变成乱码了,不过到这里的话已经朝着好的方向发展。
最终,我结合上述两种观点,达到了目的^_^
具体操作可以看看我的代码:
这次再看看程序运行的结果:
好的,问题解决!
我在网上搜集了很多资料,大家都说是windows默认的格式是'GBK',输出从mysql数据库中获取到的中文数据时,需要这样写:
假设info是从数据库中获取的中文值 print info.decode('UTF-8').encode('GBK')
结果:
但是,我这样试了很多遍还是没有解决问题,还是输出?,也有人的观点是说在链接数据库的时候传入编码格式
db = MySQLdb.connect('localhost','root','',"zou",3306,'utf8')
结果:
这样还是没有达到预期的效果,不过他这次不是出现?,而是变成乱码了,不过到这里的话已经朝着好的方向发展。
最终,我结合上述两种观点,达到了目的^_^
具体操作可以看看我的代码:
这次再看看程序运行的结果:
好的,问题解决!
相关文章推荐
- Pycharm选择pyenv安装的Python版本
- decode()和encode()
- 初心大陆-----python宝典 第五章之列表
- 利用python进行数据分析-绘图和可视化2
- python deep copy and shallow copy
- 简单讲解Python编程中namedtuple类的用法
- 阿里云Ubuntu系统安装python3.5过程
- Python编程中实现迭代器的一些技巧小结
- python学习笔记之函数总结--高阶函数以及装饰器
- Python 小练习_battleship
- python mysqldb 模块学习
- python logging 转载
- python之map映射
- Python的Django框架中forms表单类的使用方法详解
- 数字的正则表达式,python
- Python爬虫实践(八):正则表达式re模块(2)
- python练习实例之二 利润分红计算
- Python中将函数作为另一个函数的参数传入并调用
- Python 连接Sql Server数据库 MSSql
- Python 连接Sql Server数据库 MSSql