sql >> Databasteknik >  >> RDS >> Mysql

Hur korrigerar man dubbelkodade UTF-8-strängar som sitter i MySQL utf8_general_ci-fält?

Ändra tabellen för att ändra kolumnens teckenuppsättning till Latin-1. Du kommer nu att ha enkelkodade UTF-8-strängar, men du sitter i ett fält vars sortering är tänkt att vara Latin-1.

Vad du då gör är att ändra kolumnteckenuppsättningen tillbaka till UTF-8 via den binära teckenuppsättningen - på det sättet konverterar MySQL inte tecknen vid något tillfälle.

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

(är den korrekta syntaxen iirc; ange lämplig kolumntyp där ... är)



  1. PHP/SQL-infogningsfel vid användning av namngivna platshållare

  2. Hur installerar jag MySQL och Python MySQL-paketet på OS X Leopard? Eller hur lär jag mig att vara webbutvecklare med OS X?

  3. Behöver en praktisk lösning för att skapa mönsterdatabas (5-5-5) för 15-pussel

  4. MySQL - Hur man räknar alla rader per tabell i en fråga