Python中MYSQLdb出现乱码的解决方法

yipeiwu_com6年前Python基础

本文实例讲述了Python中MYSQLdb出现乱码的解决方法,分享给大家供大家参考。具体方法如下:

一般来说,在使用mysql最麻烦的问题在于乱码。

查看mysql的编码:

命令: 

复制代码 代码如下:
show variables like 'character_set_%';

可以看到如下结果:

character_set_client为客户端编码方式;
character_set_connection为建立连接使用的编码;
character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;

只要保证以上四个采用的编码方式一样,就不会出现乱码问题

然后可以直接在这里设置mysql的编码。

复制代码 代码如下:
set character_set_client = xxxxx

这样就将客户端编码修改过来了。

但是,对于已经建立好的数据库和数据表,编码还是没有变的,还是要使用alter命令去更改对应的编码

但是,即便修改了数据库的编码,在python中还是会存在存入数据库的时候的乱码问题,解决方法就是在链接数据库的时候指定编码。例如:

复制代码 代码如下:
sql_con = MySQLdb.connect(host=MYSQL_ADDR , user=MYSQL_USER , passwd=MYSQL_PWD , db=MYSQL_DB , charset="utf8")

这就指定了客户端的编码是utf8.然后就解决了乱码问题。

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python函数参数(必须参数、可变参数、关键字参数)

#python中的函数定义,使用和传参 ###------------------- 必要参数 ------------------------------------- 必要参数...

利用scrapy将爬到的数据保存到mysql(防止重复)

利用scrapy将爬到的数据保存到mysql(防止重复)

前言 本文主要给大家介绍了关于scrapy爬到的数据保存到mysql(防止重复)的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 1.环境建立  ...

python实现简单聊天应用 python群聊和点对点均实现

python实现简单聊天应用 python群聊和点对点均实现

后续代码更新和功能添加会提交到个人github主页,有兴趣可以一起来完善! 如果只是拿过去运行看结果,请注意平台相关性以及python版本号,本示例开发运行平台为win7x86_64 p...

从Python的源码来解析Python下的freeblock

从Python的源码来解析Python下的freeblock

1 引言 在python内存管理中,有一个block的概念。它比较类似于SGI次级空间配置器。 首先申请一块大的空间(4KB),然后把它切割成一小份(8, 16 一直到512)。 当有内...

Python 使用folium绘制leaflet地图的实现方法

Python 使用folium绘制leaflet地图的实现方法

leaflet为R语言提供了API很好用,这次尝试用Python使用leaflet,需要folium 安装folium pip install folium 一个小例子 imp...