Maison >développement back-end >tutoriel php >Comment réparer l'encodage UTF-8 cassé dans MySQL et PHP ?
Réparer l'encodage UTF-8 cassé
Lorsque vous traitez l'encodage UTF-8, il est courant de rencontrer des caractères cassés comme î en raison d'un manutention. Ce problème peut provenir de la configuration de la base de données, des paramètres PHP ou même de l'encodage de l'éditeur de texte.
Jeu de caractères MySQL et en-tête PHP
Assurez-vous que votre base de données MySQL utilise un UTF. -8 classement comme utf8_general_ci. De plus, vérifiez que votre code PHP inclut un en-tête UTF-8 approprié, tel que :
<?php header("Content-Type: text/html; charset=utf-8"); ?>
Vérification du Bloc-notes et de phpMyAdmin
Confirmez que le Bloc-notes est configuré pour utiliser UTF-8 sans nomenclature. Dans phpMyAdmin, assurez-vous que le codage des caractères est défini sur UTF-8 pour l'affichage des données et l'exportation SQL.
Identification des caractères accentués brisés
Bien que tous les caractères accentués ne puissent pas être Les séquences brisées courantes affectées incluent î, àet ü. Ces caractères représentent respectivement des versions accentuées de « e », « i » et « u ».
Solution : correction du double encodage
Si vous soupçonnez un double encodage Caractères UTF-8, pensez à utiliser la procédure suivante :
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
mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \ --default-character-set=utf8 DB_NAME < DB_NAME-dump.sql
Ce processus convertit de force les caractères doublement codés en caractères valides UTF-8.
Source :
[Correction du double Données UTF-8 codées dans MySQL](http://blog.hno3.org/2010/04/22/fixing-double-encoded-utf-8-data-in-mysql/)
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!