python连接mysql数据库时,读取数据库中的中文出现乱码,所有中文都显示为问号了。
站在用户的角度思考问题,与客户深入沟通,找到任丘网站设计与任丘网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都网站制作、外贸网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网站空间、企业邮箱。业务覆盖任丘地区。
数据库代码:
-- 建表语句 CREATE TABLE books ( name varchar(50) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 插入数据 insert into books values('万物生光辉'); insert into books values('我亲爱的甜橙树'); insert into books values('教父'); insert into books values('故事'); insert into books values('树上的男爵'); insert into books values('罗马人的故事2'); insert into books values('秘岛(全三册)');
python代码:
#!/usr/bin/env python import pymysql.cursors connection = pymysql.connect(user='用户名', passwd='密码', db='数据库名') cursor = connection.cursor() ex = cursor.execute("select name from books") books = cursor.fetchmany(ex) for book in books: print("%s" % book[0]) connection.close()
输出结果如下:
下面我们就来看一下解决方法:
Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)
MySQL数据库charset=utf-8
Python连接MySQL是加上参数 charset=’utf8’
读取数据后写入文件前执行编码book[0].encode(‘utf-8’)
最后测试的时候发现只需在连接MySQL的时候加上charset=’utf8’即可,以utf-8编码格式读取数据,其他条件无需添加,也不会出现从mysql中读取的数据出现中文乱码的情况。
网站题目:创新互联Python教程:python中读取mysql乱码怎么办?
标题网址:http://www.shufengxianlan.com/qtweb/news22/281172.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联