Python & MySQL: Unicode und Codierung
Beim Parsen von JSON-Daten und dem Speichern in einer MySQL-Datenbank können Unicode-Fehler auftreten, wenn die Daten enthalten Nicht-ASCII-Zeichen. Dieser Fehler tritt normalerweise auf, weil die Datenbank oder Python die Daten nicht korrekt kodieren oder dekodieren kann. Um dieses Problem zu beheben, müssen Sie die Datenbank oder die Python-Implementierung ändern, um eine ordnungsgemäße Codierung und Verarbeitung von Unicode-Zeichen sicherzustellen.
Umgang mit Unicode-Fehlern von der Datenbankseite aus
An Um Unicode-Fehler von der Datenbankseite aus zu behandeln, können Sie den Zeichensatz und die Sortierung der Tabelle ändern, um die Unicode-Codierung zu unterstützen. In Ihrem Fall können Sie die Tabelle yahoo_questions wie folgt ändern:
ALTER TABLE yahoo_questions CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Dadurch wird der Zeichensatz der Tabelle auf UTF-8 und die Sortierung auf eine Unicode-Sortierung ohne Berücksichtigung der Groß-/Kleinschreibung geändert.
Behandeln von Unicode-Fehlern von der Python-Seite aus
Alternativ können Sie Unicode-Fehler von der Python-Seite aus behandeln Python-Seite durch explizite Angabe der Codierung beim Einfügen von Daten in die Datenbank. Ändern Sie in Ihrem Python-Code die Ausführungsanweisung wie folgt:
cur.execute("INSERT INTO yahoo_questions (question_id, question_subj, question_content, question_userId, question_timestamp," +"category_id, category_name, choosen_answer, choosen_userId, choosen_usernick, choosen_ans_timestamp)" +"VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", (row[2], row[5], row[6], quserId, questionTime, categoryId, categoryName, qChosenAnswer, choosenUserId, choosenNickName, choosenTimeStamp), {'charset': 'utf8'})
Durch Hinzufügen des Parameters „charset“: „utf8“ zur Ausführungsanweisung weisen Sie MySQLdb explizit an, die Daten mit der UTF-8-Kodierung zu kodieren bevor Sie es in die Datenbank einfügen.
Das obige ist der detaillierte Inhalt vonWie behebe ich Unicode-Fehler bei der Verwendung von Python und MySQL mit JSON-Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!