Maison >développement back-end >tutoriel php >Comment réparer le codage UTF-8 cassé dans MySQL à l'aide de mysqldump et mysql ?

Comment réparer le codage UTF-8 cassé dans MySQL à l'aide de mysqldump et mysql ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-26 05:48:171025parcourir

How to Fix Broken UTF-8 Encoding in MySQL Using mysqldump and mysql?

Réparer l'encodage UTF-8 cassé

Problème :

Rencontre de caractères UTF-8 cassés (par exemple, î) dans la base de données MySQL, malgré l'utilisation de l'en-tête PHP et des paramètres UTF-8 dans le Bloc-notes .

Solution :

Pour résoudre l'encodage défectueux, suivez ces étapes :

  1. Versez les données de la base de données dans un fichier à l'aide de mysqldump. Assurez-vous que la conversion du jeu de caractères n'est pas effectuée pendant le vidage en utilisant --skip-set-charset et en spécifiant latin1 comme jeu de caractères par défaut.
  2. Importez les données vidées dans la base de données à l'aide de MySQL. Définissez le jeu de caractères par défaut sur utf8 lors de l'importation pour interpréter correctement les données.

Code :

# Dump data with latin1 character set
mysqldump -h DB_HOST -u DB_USER -p DB_PASSWORD --opt --quote-names \
    --skip-set-charset --default-character-set=latin1 DB_NAME > DB_NAME-dump.sql

# Import data with UTF-8 character set
mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
    --default-character-set=utf8 DB_NAME < DB_NAME-dump.sql

Explication :

Cette méthode remplace les caractères UTF-8 cassés par leurs valeurs appropriées en reconstruisant les données à l'aide des commandes MySQL. Il garantit que l'encodage est correctement défini lors de l'exportation et de l'importation.

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