很多小伙伴在python之中向mysql数据库中写入时发现 , 添加进去的数据都变成乱码无法正常显示和读取了 。但是原先的数据取出来之后还是正常 , 那么下面这篇文章就会来给大家讲解一下python写入mysql乱码的原因以及讲解方法 , 感兴趣的话就一起往下看看吧 。
文章插图
一、问题原因
如果是在mysql数据库之中已经将编码格式全部都设置成了utf-8 , 并且是以这个编码格式来创建数据库以及表的话 , 那么无论是取出数据还是读取数据都不会出现乱码问题 。
【Python写数据到mysql乱码怎么办?Python写入mysql为什么乱码】那么问题就是出现在了python之中 , 在python能能够操作mysql数据库的模块和库有好几个 , 但是无论哪一个都需要调用connect()方法并且传入合适的参数才能够连接到指定地址的mysql 。
在这个方法之中有一个可选参数叫做charset , 它的意思就是连接之后读取数据使用的字符集 。如果不设置的话就会使用python默认的字符编码来写入数据 , 那么这个时候python中的编码不是utf-8就会出现乱码问题 。
二、解决方法
通过以上对问题的逐步分析 , 可以知道问题是出现在了python的编码格式之中 。解决方法有两个 , 第一个就是将当前python程序的字符编码用顶部注释的方法改成utf-8 。
第二个方法就是在connect()方法之中将charset参数的值设置为utf-8 , 代码如下:
import MySQLdbconn = MySQLdb.connect(host='localhost', user='root',passwd='123', db='account', charset='utf8')以上就是关于“Python写数据到mysql乱码怎么办?Python写入mysql为什么乱码”的全部内容了 , 希望对你有所帮助 。
推荐阅读
- 如何重复运行Python程序?重复运行Python程序的方法
- Python序列去重函数怎么写?Python序列如何去重
- Python怎么显示进度条?Python怎么显示代码运行速率
- Python画正态分布曲线怎么做?Python正态分布函数代码
- Python中retrying包有什么用?Python该如何去使用retrying模块
- Python字符串操作符有哪些?Python中哪些运算符字符串可以用
- Python怎么用jmespath模块处理json数据?Python中jmespath模块能做什么
- 循环语句中continue语句的作用是什么?Python循环语句中continue的使用方法
- Python怎么运行py文件?.py文件在cmd命令行中的运行方法
- Python中if语句的使用格式是什么?Python中if语句的基本格式