本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答