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

mysql case sensitive in utf8_general_ci

Es ist besser, den utf8_bin zu verwenden Collation, denn obwohl es in UTF-8 nicht möglich ist, ist es im allgemeinen Fall (wie es bei UTF-16 der Fall ist) für dasselbe theoretisch möglich Zeichenfolge, die durch anders dargestellt werden soll Codierungen, die ein binärer Vergleich nicht verstehen würde, aber eine binäre Sortierung. Wie unter Unicode-Zeichensätze dokumentiert :

Daher werden if-Vergleiche, die diese Spalten betreffen, immer Achten Sie auf Groß- und Kleinschreibung, Sie sollten die Sortierung der Spalte auf utf8_bin setzen (damit Groß- und Kleinschreibung beachtet wird, auch wenn Sie vergessen, in Ihrer Anfrage etwas anderes anzugeben); oder wenn nur bei bestimmten Abfragen zwischen Groß- und Kleinschreibung unterschieden wird, können Sie angeben, dass utf8_bin Kollatierung sollte mit COLLATE verwendet werden Stichwort:

SELECT * FROM table WHERE id = 'iSZ6fX' COLLATE utf8_bin