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 ')