Laden von UTF-8-codiertem Text in eine MySQL-Tabelle
Wenn in einer CSV-Datei, die zum Laden in eine MySQL-Tabelle vorgesehen ist, auf nicht-englische Zeichen gestoßen wird Daher ist es von entscheidender Bedeutung, dass die Zeichenkodierung richtig gehandhabt wird. Dies wird besonders wichtig, wenn Nicht-ASCII-Zeichen vorhanden sind, da deren Darstellung je nach gewählter Kodierung variieren kann.
In Ihrem Fall ist die Einstellung des Zeichensatzes der entsprechenden Tabellenspalte allein auf UTF-8 möglicherweise nicht möglich ausreichen. Um sicherzustellen, dass nicht-englische Zeichen beim Laden der Daten korrekt beibehalten werden, ist es wichtig, den Zeichensatz explizit während des Befehls LOAD DATA LOCAL INFILE anzugeben.
Für Python kann der folgende Ansatz verwendet werden:
<code class="python">import MySQLdb # Connect to the database db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="database_name") cursor = db.cursor() # Prepare the LOAD DATA statement stmt = ("LOAD DATA INFILE 'file' " "IGNORE INTO TABLE table " "CHARACTER SET UTF8 " "FIELDS TERMINATED BY ';' " "OPTIONALLY ENCLOSED BY '"' " "LINES TERMINATED BY '\n'") # Execute the statement cursor.execute(stmt) # Commit the changes db.commit()</code>
Durch die explizite Angabe von CHARACTER SET UTF8 in der Anweisung wird MySQL angewiesen, die Daten als UTF-8-codiert zu interpretieren. Dadurch wird sichergestellt, dass nicht-englische Zeichen korrekt dargestellt und in der Tabelle gespeichert werden, auch wenn sie Zeichen außerhalb des ASCII-Bereichs enthalten.
Das obige ist der detaillierte Inhalt vonWie lade ich UTF-8-codierten Text mit Python in eine MySQL-Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!