Heim  >  Artikel  >  Datenbank  >  Wie lade ich als UTF-8 codierten Unicode-Text in eine MySQL-Tabelle?

Wie lade ich als UTF-8 codierten Unicode-Text in eine MySQL-Tabelle?

Susan Sarandon
Susan SarandonOriginal
2024-10-28 12:10:02534Durchsuche

How to Load Unicode Text Encoded as UTF-8 into a MySQL Table?

Laden von als UTF-8 kodiertem Unicode-Text in eine MySQL-Tabelle

Zum Importieren von Daten aus einer CSV-Datei, die in UTF-8 kodierte nicht-englische Zeichen enthält, in ein MySQL Tabelle müssen bestimmte Schritte unternommen werden, um eine ordnungsgemäße Zeichenverarbeitung sicherzustellen.

Zeichensatzkonfiguration:

Bevor Sie die Daten laden, müssen Sie den Zeichensatz der entsprechenden Spalte festlegen in der Tabelle zu utf8. Dadurch wird sichergestellt, dass die Spalte UTF-8-codierte Daten speichern kann.

Laden von Daten mit LOAD DATA INFILE:

Verwenden Sie zum Laden die folgende Syntax für den Befehl LOAD DATA INFILE die Daten:

<code class="sql">LOAD DATA INFILE 'file'
IGNORE INTO TABLE table
CHARACTER SET UTF8
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'</code>
  • ZEICHENSATZ UTF8: Gibt an, dass die Daten in UTF-8 codiert sind
  • IGNORIEREN: Überspringt alle Zeilen, die aufgrund von Zeichencodierungsproblemen nicht richtig geladen werden können
  • FELDER, DIE MIT ';' BEENDET SIND: Ändern Sie dies in das entsprechende Trennzeichen, wenn Ihre Datei ein anderes zum Trennen von Spalten verwendet
  • OPTIONAL ENCLOSED BY '"': Verwenden Sie dies, wenn Ihre Daten Sonderzeichen enthalten, die in Anführungszeichen gesetzt werden müssen
  • ZEILEN BEENDET MIT 'n': Ändern in spiegelt das Zeilenendezeichen in Ihrer CSV-Datei wider

Beispiel:

<code class="python">import MySQLdb

conn = MySQLdb.connect(host="localhost", user="user", passwd="password", db="database")
cursor = conn.cursor()

# Set the character set of the column
cursor.execute("ALTER TABLE table MODIFY COLUMN column_name VARCHAR(255) CHARACTER SET UTF8")

# Load the data using LOAD DATA INFILE
cursor.execute(
    """
    LOAD DATA INFILE '/path/to/file.csv'
    IGNORE INTO TABLE table
    CHARACTER SET UTF8
    FIELDS TERMINATED BY ';'
    OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    """
)

conn.commit()</code>

Das obige ist der detaillierte Inhalt vonWie lade ich als UTF-8 codierten Unicode-Text in eine MySQL-Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn