python查询mysql 乱码问题_python查询mysql中文乱码问题
問題:
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')
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')
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的python查询mysql 乱码问题_python查询mysql中文乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql int做主键_mysql5
- 下一篇: 酥梨的功效与作用、禁忌和食用方法