"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como corrigir caracteres UTF8 com codificação dupla no MySQL?

Como corrigir caracteres UTF8 com codificação dupla no MySQL?

Publicado em 2024-11-16
Navegar:140

How to Fix Double-Encoded UTF8 Characters in MySQL?

Recuperação de caracteres UTF8 com codificação dupla

Os dados importados anteriormente usando LOAD DATA INFILE foram erroneamente considerados codificados em Latin1. Consequentemente, os caracteres multibyte foram divididos em bytes individuais e posteriormente codificados em UTF8, resultando em codificação dupla. Isso leva a caracteres corrompidos como "ñ" em vez de "ñ".

Para corrigir esses erros, uma função especial do MySQL pode ser utilizada para restaurar as strings UTF8 corretas após a codificação dupla:

CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)

Esta função pode ser integrada em uma instrução UPDATE para corrija os campos afetados:

UPDATE tablename SET
    field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);

Ao executar esta instrução, o banco de dados substituirá os valores codificados duas vezes por suas contrapartes UTF8 corretas, resolvendo as anomalias de caracteres.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3