Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie korrigiert man doppelt codierte UTF-8-Strings in MySQL-utf8_general_ci-Feldern?

Ändern Sie die Tabelle, um den Spaltenzeichensatz in Latin-1 zu ändern. Sie haben jetzt einfach codierte UTF-8-Strings, sitzen aber in einem Feld, dessen Sortierung Latin-1 sein soll.

Was Sie dann tun, ist, den Spaltenzeichensatz über den binären Zeichensatz wieder auf UTF-8 zu ändern - auf diese Weise konvertiert MySQL die Zeichen an keiner Stelle.

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

(ist die korrekte Syntax iirc; geben Sie den entsprechenden Spaltentyp ein, wo ... ist)