Es hängt davon ab, was Sie brauchen.
Der utf8_bin
Collation vergleicht Zeichenfolgen ausschließlich auf der Grundlage ihres Unicode-Codepunkts
Werte. Wenn alle Codepunkte dieselben Werte haben, sind die Zeichenfolgen gleich. Dies fällt jedoch auseinander, wenn Sie Zeichenfolgen mit unterschiedlicher Zusammensetzung zum Kombinieren von Markierungen (zusammengesetzt vs. zerlegt) oder Zeichen haben, die kanonisch äquivalent sind, aber nicht denselben Codepunktwert haben. In einigen Fällen mit utf8_bin
führt dazu, dass Zeichenfolgen nicht übereinstimmen, wenn Sie dies erwarten. Theoretisch utf8_bin
ist am schnellsten, da keine Unicode-Normalisierung auf die Zeichenfolgen angewendet wird, aber es ist möglicherweise nicht das, was Sie möchten.
utf8_general_ci
wendet die Unicode-Normalisierung unter Verwendung sprachspezifischer Regeln an und vergleicht Zeichenfolgen ohne Berücksichtigung der Groß-/Kleinschreibung. utf8_general_cs
macht dasselbe, vergleicht aber Strings unter Berücksichtigung der Groß-/Kleinschreibung.