python连接mysql乱码怎么办?学会这两步你就可以解决
陈立鑫
优草派
本文主要介绍开发者在使用Python中常常遇见MYSQLdb出现乱码的解决方法,这也是Python操作MySQL数据库程序设计中非常常见的问题,下面让小编来教会大家如何解决这个问题。
一般来说,我们开发者在使用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中MYSQLdb乱码问题。希望这个方法对大家有所帮助,会了的小伙伴赶紧去尝试一下吧。
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。