sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo corregir las cadenas UTF-8 de doble codificación que se encuentran en los campos MySQL utf8_general_ci?

Modifique la tabla para cambiar el conjunto de caracteres de la columna a Latin-1. Ahora tendrá cadenas UTF-8 codificadas individualmente, pero sentadas en un campo cuya intercalación se supone que es Latin-1.

Lo que debe hacer entonces es volver a cambiar el conjunto de caracteres de la columna a UTF-8 a través del conjunto de caracteres binarios; de esa forma, MySQL no convierte los caracteres en ningún momento.

ALTER TABLE MyTable MODIFY MyColumn ... CHARACTER SET latin1
ALTER TABLE MyTable MODIFY MyColumn ... CHARACTER SET binary
ALTER TABLE MyTable MODIFY MyColumn ... CHARACTER SET utf8

(es la sintaxis correcta iirc; coloque el tipo de columna apropiado donde ... es)