解决python数据库查询出现中文乱码的方法
这篇文章主要介绍解决python数据库查询出现中文乱码的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
解决python数据库查询出现中文乱码的方法:1、python文件设置编码为utf-8;2、MySQL数据库字符集改为“charset=utf8”;3、Python连接MySQL时加上参数"charset=’utf-8"。
执行pip install PyMySQL 完成pyMySQL安装
数据库部分
-- 建表语句
CREATETABLEbooks(namevarchar(50)DEFAULTNULL)ENGINE=InnoDBDEFAULTCHARSET=utf8;
-- 插入数据
insertintobooksvalues('万物生光辉');insertintobooksvalues('我亲爱的甜橙树');insertintobooksvalues('教父');insertintobooksvalues('故事');insertintobooksvalues('树上的男爵');insertintobooksvalues('罗马人的故事2');insertintobooksvalues('秘岛(全三册)');
python代码
#!/usr/bin/envpythonimportpymysql.cursorsconnection=pymysql.connect(user='用户名',passwd='密码',db='数据库名')cursor=connection.cursor()ex=cursor.execute("selectnamefrombooks")books=cursor.fetchmany(ex)forbookinbooks: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代码
#!/usr/bin/envpythonimportpymysql.cursors#在连接Mysql的时候添加charset='utf8'即可解决中文乱码问题connection=pymysql.connect(user='用户名',passwd='密码',db='数据库名',charset='utf8')cursor=connection.cursor()ex=cursor.execute("selectnamefrombooks")books=cursor.fetchmany(ex)forbookinbooks:print("%s"%book[0])connection.close()
修改后的执行结果
以上是解决python数据库查询出现中文乱码的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。