解决Python查询Mysql数据库信息乱码问题

今天尝试着用 Python 写了个脚本试着连接 mysql 数据库,并查询里边的数据,不过最终查询结果中文字符变成了ascii格式。

代码如下:

#!/usr/bin/python
#encoding=utf-8

import MySQLdb
import json

db = MySQLdb.connect(host=‘xxx.xxx.xx.xxx‘,port=3306,user=‘name‘,passwd=‘pwd‘,db=‘my_database_name‘)
cursor = db.cursor()
sql = "select * from platform_temp"
aa=cursor.execute(sql)
info = cursor.fetchmany(aa)
for i in info:
print i
db.close()

  

查询结果如下:

针对上述出现的问题,对编辑器Pycharm的环境都进行了设置为utf-8格式,但是结果还都如上图所示。

最后通过查询本地window控制台字节码格式,为ascii,如下图所示:

In[5]: import sys
In[6]: print(sys.getdefaultencoding())
ascii

  

再次对上述代码进行修改,结果还是如此,代码如下:

#!/usr/bin/python
#encoding=utf-8

import MySQLdb
import json

db = MySQLdb.connect(host=‘xxx.xxx.xxx.xxx‘,port=3306,user=‘name‘,passwd=‘pwd‘,db=‘my_database_name‘)
cursor = db.cursor()
sql = "select * from platform_temp"
aa=cursor.execute(sql)
info = cursor.fetchmany(aa)
for i in info:
    print str(i).encode(‘utf-8‘)
    print str(i).decode(‘utf-8‘)
    print str(i).decode(‘utf-8‘).encode(‘utf-8‘)
db.close()

  

最后通过尝试将  json  模块导入,利用其 dumps 方法,问题得到解决,代码如下图所示:

#!/usr/bin/python
#encoding=utf-8

import MySQLdb
import json

db = MySQLdb.connect(host=‘xxx.xxx.xxx.xxx‘,port=3306,user=‘name‘,passwd=‘pwd‘,db=‘my_database_name‘)
cursor = db.cursor()
sql = "select * from platform_temp"
aa=cursor.execute(sql)
info = cursor.fetchmany(aa)
for i in info:
# print str(i).encode(‘utf-8‘)
# print str(i).decode(‘utf-8‘)
# print str(i).decode(‘utf-8‘).encode(‘utf-8‘)
    print json.dumps(i, encoding=‘UTF-8‘, ensure_ascii=False)

  

查询结果如下所示:

问题解决,结束。

实例配置:

    def get_one(self):
		#准备sql
        sql = ‘SELECT * FROM `news` WHERE `types` = %s ORDER BY `created_at` DESC;‘
		# 找到cursor
        cursor = self.conn.cursor()
        cursor.execute(‘SET NAMES UTF8‘)
		# 执行sql
        cursor.execute(sql, (‘百家‘, ))
		# 拿到结果
        rest = cursor.fetchmany()
        for r in rest:
            print json.dumps(r, encoding=‘UTF-8‘, ensure_ascii=False)
		# 处理数据
        cursor.close()
        self.close_conn()

  

[[email protected] python]# python test001.py
[2, "男子长得像\"祁同伟\"挨打 打人者:为何加害检察官", "新闻内容", "百家", "/static/img/news/02.png", null, 0, null, 1]

  python3 可以用 pymysql 连接数据库 , 没有中文乱码的问题

原文地址:https://www.cnblogs.com/weifeng1463/p/10979580.html

时间: 2024-10-07 07:04:39

解决Python查询Mysql数据库信息乱码问题的相关文章

解决JSP到MySQL数据库中文乱码问题

今天遇到了这个问题, 按照一定的顺序解决了, 来这里总结一下, 希望能帮助大家. 咱们从前台到后台的顺序来解决. 1. JSP 这里需要设置一下JSP页面的统一编码格式: 打开Eclipse-window->preferences. 根据图片操作. 设置完后, 再新建 JSP页面的时候, 就会出现下面的编码. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncod

解决navicate 连接mysql数据库中文乱码的问题

以下均是ubuntu12.04为准 1.修改mysql的配置文件. 1.1.vi  /etc/mysql/my.conf找到[client]在其下面添加 default-character-set=utf8 1.2.在[mysqld]下面添加 character-set-server=utf8collation-server=utf8_general_ci 然后保存my.conf 重启mysql. 登陆mysql在命令输入 show create table TableName 或 show f

解决WampServer中MySQL数据库中文乱码的问题

原文地址:http://blog.csdn.net/qq756703833/article/details/37971057 左键点击托盘区的WampServer图标,选择MySQL--my.ini,就会打开MySQL的配置文件了, 1.在[client]段落增加:default-character-set=utf8 : 2.在[mysqld]段落增加:character_set_server=utf8 . 重启MySQL服务即可.

Python与Mysql 数据库的连接,以及查询。

python与mysql数据库的连接: pymysql是python中对数据库的连接模块:因此应当首先安装pymysql数据库模块. 执行pip install pymysql 命令. 然后在python 中创建数据库连接表: import MySQLdb # 打开数据库连接 db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='

python使用mysql数据库

一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu\deepin >>sudo apt-get install mysql-server >>Sudo apt-get install  mysql-client centOS/redhat >

python使用mysql数据库(转)

一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu\deepin >>sudo apt-get install mysql-server >>Sudo apt-get install  mysql-client centOS/redhat >

Linux下使用Python操作MySQL数据库

安装mysql-python 1.下载mysql-python 打开终端: cd /usr/local sudo wget http://nchc.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz 官网地址:http://sourceforge.net/projects/mysql-python/ 2.解压 sudo tar -zxvf MySQL-python-1.2.2.tar.gz cd MySQL-

Python使用MySQL数据库(新)(转)

http://www.cnblogs.com/fnng/p/3565912.html 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu\deepin >>sudo apt-get install mysql-server >>Sudo apt-g

使用python操作mysql数据库

这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector-python 是MySQL官方的Python驱动 https://dev.mysql.com/doc/connector-python/en/ 安装: pip install mysql-connector 示例代码: https://github.com/mike-zhang/pyExample