Cela dépend de ce dont vous avez besoin.
Le utf8_bin
le classement compare les chaînes en fonction uniquement de leur point de code
Unicode valeurs. Si tous les points de code ont les mêmes valeurs, les chaînes sont égales. Cependant, cela s'effondre lorsque vous avez des chaînes avec une composition différente pour combiner des marques (composées ou décomposées) ou des caractères qui sont canoniquement équivalents mais qui n'ont pas la même valeur de point de code. Dans certains cas, en utilisant utf8_bin
entraînera des chaînes qui ne correspondent pas lorsque vous vous y attendez. Théoriquement, utf8_bin
est le plus rapide car aucune normalisation Unicode n'est appliquée aux chaînes, mais ce n'est peut-être pas ce que vous voulez.
utf8_general_ci
applique la normalisation Unicode à l'aide de règles spécifiques au langage et compare les chaînes sans tenir compte de la casse. utf8_general_cs
fait la même chose, mais compare les chaînes en respectant la casse.