`

转:Python:MySQLdb读出MYSQL中的中文为乱码

阅读更多

原文地址:http://hi.baidu.com/ah__fu/blog/item/57757982eed366ad6d81192e.html


在调试页面的时候发现,服务器返回的JSON中,中文都成了问号。

难道是json.dumps()这个步骤在转义的时候不正确,验证了一下,原来从mysql中读出的时候就已经是乱码了!

 

OK,先到MYSQL里面看看,表里面的数据究竟是什么编码的:

select field_name, hex(field_name) from tab limit 1;

了解到是UTF-8编码。

看来是客户端不支持UTF-8编码导致。

把客户端的编码打印出来看看:

db = MySQLdb.connect(...)

print db.character_set_name()

显示了一个杯具的latin1

 

于是我尝试在构造对象的时候指定字符集:

db = MySQLdb.connect(..., charset='utf8')

搞定!

 

第二种方法是:

db = MySQLdb.connect(..., init_command='set names utf8')

分享到:
评论

相关推荐

    python操作MySQL的MySQLdb模块

    Python中的MySQLdb模块是连接和操作MySQL数据库的一个重要工具,尤其在Python 2.x版本中广泛使用。这个模块是Python的DB-API(数据库应用编程接口)的一个实现,它提供了与MySQL交互的一系列函数和类。下面我们将...

    python2.7.5 安装python-mysqldb出错问题my_config.h: No such file or directory.

    python2.7.5安装mysqldb失败, my_config.h: No such file or directory. 解决办法:1)mysql版本太高,可降低版本 --此路一般不会考虑 2)注意下载的mysql-python的版本是否符和当前版本兼容 2)下载附件中的文件,...

    离线安装python2的MySQLdb

    Python的MySQLdb模块是Python连接MySQL数据库的一个重要接口,它为Python程序员提供了与MySQL数据库交互的能力。在一些没有网络或者网络环境受限的情况下,离线安装MySQLdb就显得尤为重要。下面我们将详细探讨如何在...

    python2.6-MySQLdb

    python2.6-MySQLdb,包括python2.6安装包、MySQLdb for python2.6安装包、MySQLdb使用配置,为想学习Python操作mysql数据库的同学提供了极大的方便。。。

    07-python连接mysql之MySQLdb模块1

    在Python中,MySQLdb是一个实现DB-API的库,专门用于连接MySQL数据库。MySQLdb基于MySQL的C API构建,符合Python数据库API规范V2.0。它提供了连接数据库、执行SQL语句、处理结果集以及关闭连接等功能,使得Python...

    Dash文档:python-2.7.16官方中文

    10. **数据库接口**:Python 2.7.16的标准库中包含了多种数据库接口,如sqlite3模块,可以直接操作SQLite数据库,其他如MySQLdb和psycopg2分别提供了对MySQL和PostgreSQL的支持。 总的来说,"Dash文档:python-...

    Win环境下配置Python3 MySQLdb

    但是,Python 3.x版本中不再直接支持MySQLdb,而是推荐使用`mysql-connector-python`或者`pymysql`。不过,通过`mysqlclient`库,我们仍然可以在Python 3中实现类似的功能。下面将详细介绍如何在Windows上配置这个...

    python2.6集成mysqldb完整包,绝对可用。

    Python 2.6 是 Python 编程语言的一个早期版本,发布于2008年,而MySQLdb是Python中用于连接MySQL数据库的一个模块,它提供了Python标准库DB-API(PEP 249)接口。在Python 2.6集成mysqldb的完整包中,用户可以利用...

    Python库 | mysqldb_wrapper-0.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:mysqldb_wrapper-0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    MySQL-python-1.2.5-cp27-none-win32.whl

    python MySQL-python模块 django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb. Did you install mysqlclient or MySQL-python?

    python MySQLdb 64位win7安装版本

    Python中的MySQLdb模块是Python连接MySQL数据库的一个常用库,它为Python程序员提供了与MySQL数据库交互的能力。在64位的Windows 7系统上,安装这个模块可能会遇到一些挑战,因为并非所有的版本都与所有环境完全兼容...

    python-MySQLdb安装包

    这个包里有两个包,都可以用来在windows上安装python-MySQLdb,选择其中一种就可以!我比较喜欢用-master那个包,因为只要解压后执行python setup.py install就可以了。另一个包在安装时若出现找不到python2.7的安装...

    mysql_read.rar_Python MySQLdb_connect_python

    在Python编程中,MySQLdb模块是连接MySQL数据库的一个常用库,它为Python提供了与MySQL交互的接口。本教程将深入探讨如何使用Python的MySQLdb库连接到MySQL数据库,并执行基本的读取操作。 首先,安装MySQLdb库是...

    python mysqldb

    `libmmd.dll`和`libguide40.dll`是两个动态链接库文件,它们是MySQL Connector/C(MySQL的C语言接口)的一部分,用于在Python中进行MySQL数据库操作。`libmmd.dll`通常涉及到MySQL的多线程支持,而`libguide40.dll`...

    Python-MySQLdb-example:Python-MySQLdb-example

    Python-MySQLdb-examplePython-MySQLdb-example本文主要介绍通过MySQLdb实现Python对MySQL数据库的访问和操作。备注:execute 把一条查询语句发送给mysql服务器,这里有两种情况:CREATE、INSERT、DELETE、UPDATE、...

    python查询mysql中文乱码问题

    Python查询MySQL时遇到的中文乱码问题是一个常见的编程困扰,特别是在使用Python 2.7版本时更为突出。本文将深入探讨这个问题的成因,并提供一套详细的解决方案。 首先,我们需要了解问题的根本原因。当Python与...

    MySQLdb,python

    在Python中使用MySQLdb进行数据库操作的基本步骤如下: 1. **导入模块**:首先需要导入MySQLdb模块,如`import MySQLdb`。 2. **创建连接**:使用`connect()`函数创建到MySQL服务器的连接,通常需要提供主机名、...

    python的64位和32位mysqldb库

    在Python中安装mysqldb通常通过pip进行,但需要注意的是,由于MySQL的C驱动程序需要编译,因此在某些情况下,直接使用pip可能无法正确安装64位或32位的版本。在这种情况下,你需要找到对应架构的预编译版本,或者...

    mysql_python

    在Python中,有多种库可以连接和操作MySQL数据库,其中MySQLdb是早期广泛使用的库,尤其适用于Python 2.x版本。然而,标题提到在Windows环境下可能无法直接通过`pip install`命令来安装MySQLdb,这通常是由于Python...

    python模块MySQLdb安装失败部分原因补丁

    python安装模块MySQLdb时,提示python2.7未安装,安装失败时,命令行python register.py,然后重新安装MySQLdb,就能正确安装。

Global site tag (gtag.js) - Google Analytics