Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como corrigir strings UTF-8 duplamente codificadas nos campos MySQL utf8_general_ci?


Altere a tabela para alterar o conjunto de caracteres da coluna para Latin-1. Agora você terá strings UTF-8 codificadas individualmente, mas em um campo cujo agrupamento deveria ser Latin-1.

O que você faz então é alterar o conjunto de caracteres da coluna de volta para UTF-8 através do conjunto de caracteres binários - dessa forma o MySQL não converte os caracteres em nenhum ponto.
ALTER TABLE MyTable MODIFY MyColumn ... CHARACTER SET latin1
ALTER TABLE MyTable MODIFY MyColumn ... CHARACTER SET binary
ALTER TABLE MyTable MODIFY MyColumn ... CHARACTER SET utf8

(é a sintaxe correta iirc; coloque o tipo de coluna apropriado onde ... é)