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