Maison >base de données >tutoriel mysql >Comment réparer l'encodage UTF-8 corrompu dans les bases de données MySQL ?
Réparation de l'encodage UTF-8 corrompu
Cet article aborde le problème de la suppression des erreurs UTF-8 dans les bases de données MySQL. Le problème se manifeste par des caractères tronqués comme "î" lorsque PHP 5 est utilisé avec un classement utf8_general_ci et qu'un en-tête UTF-8 approprié est défini.
Mappage des caractères corrompus
La fonction suivante peut être utilisée pour mapper les instances de caractères corrompus à leur UTF-8 correct correspondant caractères :
function fixUtf8($string) { $replacements = array( "î" => "®", "ÃÂ" => "í", "ü" => "ü" ); return str_ireplace(array_keys($replacements), array_values($replacements), $string); }
Dump et restauration de la base de données
Une autre approche consiste à vider les données de la base de données et à les recharger pour résoudre les caractères UTF-8 à double codage :
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
Cette méthode résout généralement le problème efficacement.
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!