Maison  >  Article  >  base de données  >  Comment corriger le double encodage Unicode dans les tables UTF-8 ?

Comment corriger le double encodage Unicode dans les tables UTF-8 ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-01 14:28:03494parcourir

How to Correct Unicode Double-Encoding in UTF-8 Tables?

Correction du double codage Unicode dans les tables UTF-8

La rencontre d'anomalies telles que "ñ" au lieu de "ñ" signifie un double potentiel -problème d'encodage avec les caractères UTF-8. Cela se produit lorsqu'un fichier CSV est chargé par erreur en supposant qu'il est codé en Latin1, ce qui entraîne une identification erronée des caractères multi-octets comme des caractères uniques, puis un nouveau codage en UTF-8.

Solution

Pour corriger ce double encodage, une fonction MySQL est disponible :

<code class="sql">CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)</code>

Cette fonction prend les caractères codés en Latin1, les convertit en binaire, puis les reconvertit en UTF-8, supprimant efficacement le double encodage.

Correction via l'instruction UPDATE

Pour corriger les champs concernés, vous pouvez utiliser la fonction dans une instruction UPDATE :

<code class="sql">UPDATE tablename SET
    field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);</code>

En exécutant cette instruction, les caractères problématiques seront restaurés dans leur représentation UTF-8 correcte.

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