Maison > base de données > tutoriel mysql > Comment puis-je convertir des caractères Latin1 en UTF-8 dans une table de base de données UTF-8 ?

Comment puis-je convertir des caractères Latin1 en UTF-8 dans une table de base de données UTF-8 ?

Susan Sarandon
Libérer: 2024-12-02 21:40:12
original
704 Les gens l'ont consulté

How Can I Convert Latin1 Characters to UTF-8 in a UTF-8 Database Table?

Conversion des caractères Latin1 en UTF8 dans une table UTF8

Votre question décrit un problème dans lequel les données précédemment insérées contenant des signes diacritiques ont été corrompues en raison d'un jeu de caractères incorrect manipulation.

Problème :

Vos scripts PHP n'ont pas spécifié le jeu de caractères UTF-8 pour la communication avec la base de données, ce qui a conduit au stockage des caractères Latin1 dans une table UTF-8. Cela entraînait un affichage incorrect des caractères sous forme de séquences "Ã".

Solution :

La solution réside dans l'utilisation d'une fonction MySQL appelée convert() pour convertir explicitement le données du codage Latin1 vers UTF-8. Voici un exemple de requête :

UPDATE `table` SET `name` = convert(cast(convert(`name` using latin1) as binary) using utf8)
Copier après la connexion

Explication :

  • La fonction convert() convertit d'abord la valeur actuelle de la colonne de nom en codage Latin1 à l'aide du convertisseur latin1 .
  • La chaîne binaire résultante est ensuite reconvertie en chaîne à l'aide du binaire convertisseur.
  • Enfin, la chaîne est convertie en UTF-8 à l'aide du convertisseur utf8.

Ce processus de conversion garantit que tous les caractères Latin1 corrompus sont correctement convertis en UTF-8, en préservant l'affichage correct des signes diacritiques. Notez que la conversion interne à l'aide de la fonction convert() peut ne pas être nécessaire dans tous les cas, en fonction de la corruption spécifique des données.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal