Maison  >  Article  >  base de données  >  Comment charger du texte Unicode codé en UTF-8 dans une table MySQL ?

Comment charger du texte Unicode codé en UTF-8 dans une table MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-28 12:10:02534parcourir

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

Chargement de texte Unicode codé en UTF-8 dans une table MySQL

Pour importer des données d'un fichier CSV contenant des caractères non anglais codés en UTF-8 dans un MySQL table, des étapes spécifiques doivent être prises pour assurer une bonne gestion des caractères.

Configuration du jeu de caractères :

Avant de charger les données, vous devez définir le jeu de caractères de la colonne correspondante dans le tableau à utf8. Cela garantit que la colonne peut stocker des données codées en UTF-8.

Chargement des données avec LOAD DATA INFILE :

Utilisez la syntaxe suivante pour que la commande LOAD DATA INFILE charge les données :

<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>
  • CHARACTER SET UTF8 : Spécifie que les données sont codées en UTF-8
  • IGNORE : Saute toutes les lignes qui ne se chargent pas correctement en raison de problèmes de codage de caractères
  • CHAMPS TERMINÉS PAR ';' : Remplacez-le par le délimiteur approprié si votre fichier en utilise un autre pour séparer les colonnes
  • OPTIONNELLEMENT ENCLOS PAR '"' : Utilisez ceci si vos données contiennent des caractères spéciaux qui doivent être cités
  • LIGNES TERMINÉES PAR 'n' : Modifier en refléter le caractère de fin de ligne dans votre fichier CSV

Exemple :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn