Maison > développement back-end > tutoriel php > Comment réparer l'encodage UTF-8 cassé dans MySQL et PHP ?

Comment réparer l'encodage UTF-8 cassé dans MySQL et PHP ?

DDD
Libérer: 2024-11-26 05:24:09
original
1061 Les gens l'ont consulté

How to Fix Broken UTF-8 Encoding in MySQL and 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");
?>
Copier après la connexion

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 :

  1. Dumpez vos données MySQL en utilisant :
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
Copier après la connexion
  1. Rechargez les données dans un jeu de caractères UTF-8 :
mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
--default-character-set=utf8 DB_NAME < DB_NAME-dump.sql
Copier après la connexion

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!

Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal