Problem:
python2.7 query or Insert Chinese data in MySQL when the Chinese garbled
---
Possible situations:
1.mysql database items are not set to encode, default is ' Latin '
2. No default encoding is set when using Mysql.connect
3. No Python encoding is set, python2.7 defaults to ' ASCII '
4. No decoding
---
Workaround:
1. Set the code for MySQL
Ubuntu executes the following statement:
* * sudo vim/etc/mysql/my.cnf * *
and insert the statement inside:
[Client]
Default-character-set=utf8
[mysqld]
Character-set-server=utf8
collation-server=utf8_general_ci
Quit Vim
Restart MySQL:
* * sudo service mysql restart * *
2. Set MYSQLDB Connection encoding parameters in code
db=MySQLdb.connect(user='...',db='...',passwd='...',host='...',charset='utf8')
3. Set the python default encoding in code
#-*-coding:utf-8-*-
Import sys
reload (SYS)
sys.setdefaultencoding (' Utf-8 ')
4. Remember to decode
t = Cursor.fetchall ()
s = T[0][1].decode (' Utf-8 ')
Over