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.
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