设为首页 - 加入收藏 - 网站地图 SecYe安全 Www.SecYe.Com - 国内网络信息安全IT技术门户网
当前位置:SecYe > 网络编程 > Python > 正文

解决python2.7 查询mysql时出现中文乱码

时间:2016-10-20 11:45 来源:未知 作者:SecYe安全 阅读:

python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码

 

---

可能情况:

 

1.mysql数据库各项没有设置编码,默认为'latin'

2.使用MySQL.connect的时候没有设置默认编码

3.没有设置python的编码,python2.7默认为'ascii'

4.没有解码

---

 

解决方法:

 

1.设置mysql的编码

 

ubuntu执行下列语句:

 

** sudo vim /etc/mysql/my.cnf **

 

然后在里面插入语句:

[client]

default-character-set=utf8

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

 

退出 vim

重新启动mysql:

 

** sudo service mysql restart **

 

2.在code中设置MySQLdb的连接编码参数

 

db=MySQLdb.connect(user='...',db='...',passwd='...',host='...',charset='utf8')

 

3.在code中设置python默认编码

 

# -*-coding:utf-8 -*-

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

 

4.记得要解码

 

t = cursor.fetchall()

s = t[0][1].decode('utf-8')

 

over

本文来源:SecYe安全网[http://www.secye.com] (责任编辑:SecYe安全)

点击复制链接 与好友分享!

顶一下
(0)
0%
踩一下
(0)
0%