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

(编辑:jimmy 日期: 2024/10/3 浏览:2)

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

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。