Python写数据到mysql乱码怎么办?Python写入mysql为什么乱码

很多小伙伴在python之中向mysql数据库中写入时发现 , 添加进去的数据都变成乱码无法正常显示和读取了 。但是原先的数据取出来之后还是正常 , 那么下面这篇文章就会来给大家讲解一下python写入mysql乱码的原因以及讲解方法 , 感兴趣的话就一起往下看看吧 。

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为什么乱码”的全部内容了 , 希望对你有所帮助 。

    推荐阅读