python查询mysql中文乱码问题

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‘)

时间: 2024-10-05 05:41:44

python查询mysql中文乱码问题的相关文章

sae python中Mysql中文乱码的解决

一开始我用的是: db=MySQLdb.connect(db=sae.const.MYSQL_DB,user=sae.const.MYSQL_USER,passwd=sae.const.MYSQL_PASS,host=sae.const.MYSQL_HOST,port=int(sae.const.MYSQL_PORT)) 数据库编码与python代码的编码都已设为utf8,在PHPMyAdmin中添加中文记录,在网页查询显示中却显示乱码,我在网上各种搜索都找不到解决方法.最后终于发现在连接数据库

Qt查询MYSQL中文乱码问题

Qt的默认编码是utf-8,而mysql的编码是在安装数据库(或后续可更改)就时设置的.有时候两者可能不一样,我们不可能去为了匹配Qt而去更改MYSQL的编码(确实可以更改).所以只能在打开数据库连接操作的时候设置编码了,即在QSqlDatabase对象调用open()方法之后设置. 设置方法为: sqldb.exec("SET NAMES 'XXXX'"); 注意:sqldb是一个QSqlDatabase对象,XXXX是MYSQL数据库的编码名称,如我的就是db.exec("

解决Python操作MySQL中文乱码的问题

原始代码: import os, sys, string import MySQLdb MYSQL_HOST = 'localhost' MYSQL_PORT = '3306' MYSQL_USER = 'root' MYSQL_PASS = '' MYSQL_DB = 'app_hwms' def main(): try: conn = MySQLdb.connect(host=MYSQL_HOST,user=MYSQL_USER ,passwd=MYSQL_PASS,db=MYSQL_DB)

CMD查询Mysql中文乱码的解决方法

直接输入set names gbk; 这样设置后,即可解决问题. 原文地址:https://www.cnblogs.com/duandians/p/9951019.html

mysql命令行以及mysql workbence查询结果中文乱码的解决方法

最近正在学习mysql,安装环境是windows server 2003 32位操作系统+mysql 5.1.47同时也安装了mysql命令行以及mysql workbench这里是test数据库create  table fortest(empno int auto_increment,empname nvarchar(20) not null,constraint pk_fortest primary key(empno))default charset=utf8;然后插入了一条数据set

解决springmvc+mybatis+mysql中文乱码问题【转】

这篇文章主要介绍了解决java中springmvc+mybatis+mysql中文乱码问题的相关资料,需要的朋友可以参考下 近日使用ajax请求springmvc后台查询mysql数据库,页面显示中文出现乱码 最初在mybatis配置如下 <select id="queryContentById" resultType = "java.lang.String" parameterType="String" >     select t

Mysql中文乱码问题完美解决方案

MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8!!!!utf8可以兼容世界上所有字符!!!!一.避免创建数据库及表出现中文乱码和查看编码方法1.创建数据库的时候:CREATE DATABASE `test`CHARACTER SET 'utf8'COLLATE 'utf8_general_ci';2.建表

关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)(转)

这篇文章给大家介绍关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)的相关资料,还给大家收集些关于MySQL会出现中文乱码原因常见的几点,小伙伴快来看看吧 最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅. 首先: 用show variables like "%colla%":show varables like "%char%":这两条命令查看数据库与服务端的字符集

MySQL及navicat for mysql中文乱码

全部使用utf8编码 MySQL中文乱码解决 查看默认编码格式: mysql> show variables like "%char%"; 设置编码格式: SET character_set_client='utf8'; SET character_set_connection='utf8'; SET character_set_server='utf8'; 查看数据库test的编码格式: mysql> show create database test; 设置数据库tes