python查詢mysql中文亂碼問題

千鋒武漢發表於2021-05-31

  相信很多在工作中的Python小夥伴,經常會遇到一些工作上的問題,例如查詢mysql中文亂碼問題,Python連線mysql資料庫時,讀取資料庫中的中文出現亂碼,所有中文都顯示為問號了,那麼該如何解決這個問題呢?解決問題的步驟如下:

  一、為什麼出現亂碼,出現亂碼的可能情況情況:

  1.mysql資料庫各項沒有設定編碼,預設為'latin'

  2.使用MySQL.connect的時候沒有設定預設編碼

  3.沒有設定python的編碼,python2.7預設為'ascii'

  4.沒有解碼

  二、為大家分享幾種解決方法,如下:

  1.設定mysql的編碼

  ubuntu執行下列語句:

  ** sudo vim /etc/mysql/my.cnf **

  然後在裡面插入語句:

  [client]

  default-character-set=utf8

  [mysqld]

  character-set-server=utf8

  collation-server=utf8_general_ci

  退出 vim

  重新啟動mysql:

  ** sudo service mysql restart **

  2.在code中設定MySQLdb的連線編碼引數

  db=MySQLdb.connect(user='...',db='...',passwd='...',host='...',charset='utf8')

  3.在code中設定python預設編碼

  # -*-coding:utf-8 -*-

  import sys

  reload(sys)

  sys.setdefaultencoding('utf-8')

  4.記得要解碼

  t = cursor.fetchall()

  s = t[0][1].decode('utf-8')

  以上就是python查詢mysql中文亂碼問題以及解決方法,希望能夠幫助到大家。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2774639/,如需轉載,請註明出處,否則將追究法律責任。

相關文章