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程序设计有所帮助。

相关文章

详解Django中的ifequal和ifnotequal标签使用

Django模板系统压根儿就没想过实现一个全功能的编程语言,所以它不允许我们在模板中执行Python的语句(还是那句话,要了解更多请参看理念和限制小节)。 但是比较两个变量的值并且显示一...

Python中使用logging模块打印log日志详解

学一门新技术或者新语言,我们都要首先学会如何去适应这们新技术,其中在适应过程中,我们必须得学习如何调试程序并打出相应的log信息来,正所谓“只要log打的好,没有bug解不了”,在我们熟...

Python类属性与实例属性用法分析

本文实例分析了Python类属性与实例属性用法。分享给大家供大家参考。具体如下: 类属性:类名.属性名  实例属性:实例.属性名 >>> class te...

Python爬豆瓣电影实例

Python爬豆瓣电影实例

文件结构 html_downloader.py - 下载网页html内容 #!/usr/bin/python # -*- coding: UTF-8 -*- import urll...

Python中不同进制的语法及转换方法分析

本文实例讲述了Python中不同进制的语法及转换方法。分享给大家供大家参考,具体如下: 不同进制的书写方式 ① 八进制(Octal) 0o377 ② 十六进制(Hex) 0xFF ③ 二...