2016-04-23 3 views
0

ich bereits dict[key]=dict[key].encode('utf-8') in Python verwenden, und setzen mysql Standardzeichen wie folgt aus:speichern Python chinesisch in MySQL

--------------------------+--------------------------------------------------------+ 
| Variable_name   | Value             | 
+--------------------------+--------------------------------------------------------+ 
| character_set_client  | utf8             | 
| character_set_connection | utf8             | 
| character_set_database | utf8             | 
| character_set_filesystem | binary             | 
| character_set_results | utf8             | 
| character_set_server  | utf8             | 
| character_set_system  | utf8             | 
| character_sets_dir  | /usr/local/mysql-5.6.29-osx10.8-x86_64/share/charsets/ | 
+--------------------------+--------------------------------------------------------+ 

aber immer noch nicht chinesisch richtig machen kann, was ich bekommen ist wie 尘的空间 .Was ist falsch?

suchte ich eine Antwort und charset="utf8self.db=MySQLdb.connect("localhost","root","","QQ",charset="utf8")

get Fehler hinzu:

(1366, "Incorrect string value: '\\xE8\\xAF\\x84\\xE8\\xAF\\xAD...' for column 'content' at row 1") 

Antwort

0

Ich suchte Fehler 1366 und Datenbankkollatierung finden nicht die Sortierung übereinstimmen ich in MySQL setzen. also mache ich das: show full columns from table_name; finden Sie Zeile, die nicht utf-8 verwenden codieren .dann alter table table_name change name name varchar(100) character set utf8 collate utf8_unicode_ci not null default '';
es funktioniert.

+0

Sie sollten Ihre eigene Antwort als richtig markieren, damit die Leute Ihre Frage sehen können, ohne sie zu öffnen. –

+0

Ich versuche, meine eigene Antwort zu akzeptieren, aber es heißt, ich sollte 2 Tage warten, bevor ich das tun kann. – GUOJINGWEI