Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment corriger les chaînes UTF-8 à double encodage dans les champs MySQL utf8_general_ci ?

Modifiez le tableau pour changer le jeu de caractères de la colonne en Latin-1. Vous aurez maintenant des chaînes UTF-8 codées individuellement, mais assises dans un champ dont le classement est censé être Latin-1.

Ce que vous faites ensuite, c'est de changer le jeu de caractères de la colonne en UTF-8 via le jeu de caractères binaires - de cette façon MySQL ne convertit les caractères à aucun moment.

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

(est la syntaxe correcte iirc ; mettez le type de colonne approprié dans où ... est)