本文实例讲述了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程序设计有所帮助。