MySQL UTF8 Codierung und einzigartige Schlüssel
-
26-10-2019 - |
Frage
Ich habe Daten für eine Benutzertabelle (viele Benutzer aus vielen Websites) für die Daten:
myisam default collation latin1_swedish
....
Importieren dieser Daten in a innodb table utf8_general
Ich habe einen einzigartigen Schlüssel auf die username,site_id
Kombination, aber dies fällt bei 2 Benutzern derselben Site fehl:
user 1 dranfog,
user 2 drånfog
Wenn ich renn:
SELECT IF('å' = 'a', 'yep', 'nope');
Direkt auf dem Ziel -DB mit UTF8 -Codierung bekomme ich 'yep'
.
Alle Tipps zur Lösung dieses willkommenen. Ich war im Eindruck, dass UTF8 diese als unterschiedliche Charcters behandeln würde, aber das scheint nicht der Fall zu sein.
Lösung
Kollationen, die mit enden mit _ci
sind Fall (und Akzent) unempfindlich.
Sie könnten die Zusammenfassung ändern 'utf8_binary'
behandeln dranfog
anders als drånfog
.