abstrait:這篇文章主要介紹了python操作mysql中文顯示亂碼的解決方法,是Python數(shù)據(jù)庫程序設(shè)計(jì)中經(jīng)常會(huì)遇到的問題,非常具有實(shí)用價(jià)值,需要的朋友可以參考下問題:python2.7 查詢或者插入中文數(shù)據(jù)在mysql中的時(shí)候出現(xiàn)中文亂碼---可能情況:1.mysql數(shù)據(jù)庫各項(xiàng)沒有設(shè)置編碼,默認(rèn)為'latin'2.使用MySQL.connect的時(shí)候沒有設(shè)置默認(rèn)編碼3.沒有設(shè)置pytho
這篇文章主要介紹了python操作mysql中文顯示亂碼的解決方法,是Python數(shù)據(jù)庫程序設(shè)計(jì)中經(jīng)常會(huì)遇到的問題,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
問題:
python2.7 查詢或者插入中文數(shù)據(jù)在mysql中的時(shí)候出現(xiàn)中文亂碼
---
可能情況:
1.mysql數(shù)據(jù)庫各項(xiàng)沒有設(shè)置編碼,默認(rèn)為'latin'
2.使用MySQL.connect的時(shí)候沒有設(shè)置默認(rèn)編碼
3.沒有設(shè)置python的編碼,python2.7默認(rèn)為'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
重新啟動(dòng)mysql:
** sudo service mysql restart **
2.在code中設(shè)置MySQLdb的連接編碼參數(shù)
db=MySQLdb.connect(user='...',db='...',passwd='...',host='...',charset='utf8')
3.在code中設(shè)置python默認(rèn)編碼
# -*-coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8')
4.記得要解碼
t = cursor.fetchall() s = t[0][1].decode('utf-8')
over
更多關(guān)于解決python2.7 查詢mysql時(shí)出現(xiàn)中文亂碼請(qǐng)關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!