解決python2.7 查詢mysql時出現中文亂碼

WBOY
發布: 2016-12-05 13:27:18
原創
1571 人瀏覽過

問題:

python2.7 查詢或插入中文資料在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')<br />

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')
登入後複製

over

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!