python操作mysql中文乱码的解决方法

2017/2/12 mysql

在python中将包含中文的数据存储到MySQL数据库的过程中,发现数据库里面的中文全都是乱码,虽然如果再直接用python读出来还是能够正常显示的,但是我们依然需要解决这个问题。

1. Python文件设置编码 utf-8

文件前面加上 # coding=utf-8
2. 设置Python的默认编码为 utf-8

import sys

reload(sys)  
sys.setdefaultencoding('utf-8')
1
2
3
4

3. MySQL数据库的数据以utf-8的编码方式保存
4. Python连接MySQL是加上参数 charset=utf8

db = MySQLdb.connect("localhost","user","password","python", charset="utf8")

cursor = db.cursor()
1
2
3

这里需要注意的是不能写成utf-8形式,不然连接的时候会报错。希望对遇到相同问题的人会有所帮助