Mysql
 sql >> Database >  >> RDS >> Mysql

Come correggere le stringhe UTF-8 a doppia codifica che si trovano nei campi utf8_general_ci di MySQL?

Modifica la tabella per cambiare il set di caratteri della colonna su Latin-1. Ora avrai stringhe UTF-8 codificate singolarmente, ma in un campo il cui confronto dovrebbe essere Latin-1.

Quello che devi fare è cambiare il set di caratteri della colonna in UTF-8 tramite il set di caratteri binario, in questo modo MySQL non converte i caratteri in nessun 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

(è la sintassi corretta iirc; inserisci il tipo di colonna appropriato in dove ... è)