Depende de lo que necesites.
El utf8_bin
la intercalación compara cadenas basadas únicamente en su Unicode punto de código
valores. Si todos los puntos de código tienen los mismos valores, entonces las cadenas son iguales. Sin embargo, esto falla cuando tiene cadenas con una composición diferente para combinar marcas (compuestas frente a descompuestas) o caracteres que son canónicamente equivalentes pero que no tienen el mismo valor de punto de código. En algunos casos, usando utf8_bin
dará como resultado que las cadenas no coincidan cuando se espera que lo hagan. Teóricamente, utf8_bin
es el más rápido porque no se aplica la normalización de Unicode a las cadenas, pero puede que no sea lo que desea.
utf8_general_ci
aplica la normalización Unicode utilizando reglas específicas del idioma y compara cadenas sin distinguir entre mayúsculas y minúsculas. utf8_general_cs
hace lo mismo, pero compara cadenas con distinción entre mayúsculas y minúsculas.