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

yipeiwu_com6年前Python基础

问题:

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

相关文章

浅谈Django中view对数据库的调用方法

question: Django中对数据库的调用非常的隐蔽,在各种复杂的模块互相拼接继承中很难发现获取数据库内容的部分 来,开始试图理解一下下 首先,数据库中的表对应的是model中的...

在Django的URLconf中使用多个视图前缀的方法

在实践中,如果你使用字符串技术,特别是当你的 URLconf 中没有一个公共前缀时,你最终可能混合视图。 然而,你仍然可以利用视图前缀的简便方式来减少重复。 只要增加多个 pattern...

python使用pil进行图像处理(等比例压缩、裁剪)实例代码

PIL中设计的几个基本概念 1.通道(bands):即使图像的波段数,RGB图像,灰度图像 以RGB图像为例: >>>from PIL import Image &...

python实现查询IP地址所在地

python实现查询IP地址所在地

使方法一、用IP138数据库查询域名或IP地址对应的地理位置。 #-*- coding:gbk -*- import urllib2 import re try: while...

python绘制无向图度分布曲线示例

python绘制无向图度分布曲线示例

如下所示: #Copyright (c)2017, 东北大学软件学院学生 # All rightsreserved #文件名称:a.py # 作 者:孔云 #问题描述:统计图中的每...