python查詢mysql中文亂碼問題
問題:
python2.7 查詢或者插入中文數(shù)據(jù)在mysql中的時候出現(xiàn)中文亂碼
---
可能情況:
1.mysql數(shù)據(jù)庫各項沒有設(shè)置編碼,默認為'latin'
2.使用MySQL.connect的時候沒有設(shè)置默認編碼
3.沒有設(shè)置python的編碼,python2.7默認為'ascii'
4.沒有解碼
---
解決方法:
1.設(shè)置mysql的編碼
ubuntu執(zhí)行下列語句:
** 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中設(shè)置MySQLdb的連接編碼參數(shù)
db=MySQLdb.connect(user='...',db='...',passwd='...',host='...',charset='utf8')
3.在code中設(shè)置python默認編碼
# -*-coding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
4.記得要解碼
t = cursor.fetchall()
s = t[0][1].decode('utf-8')
相關(guān)文章
Python3正則匹配re.split,re.finditer及re.findall函數(shù)用法詳解
這篇文章主要介紹了Python3正則匹配re.split,re.finditer及re.findall函數(shù)用法,結(jié)合實例形式詳細分析了正則匹配re.split,re.finditer及re.findall函數(shù)的概念、參數(shù)、用法及操作注意事項,需要的朋友可以參考下2018-06-06
vscode配置與python虛擬環(huán)境切換的幾種方式總結(jié)
Python之所以強大,除了語言本身的特性外,更重要的是擁有無所不及的第三方庫,下面這篇文章主要給大家介紹了關(guān)于vscode配置與python虛擬環(huán)境切換的幾種方式,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-12-12
淺談python3打包與拆包在函數(shù)的應(yīng)用詳解
這篇文章主要介紹了淺談python3打包與拆包在函數(shù)的應(yīng)用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05

