Es mejor usar el utf8_bin
intercalación porque, aunque no es posible en UTF-8, en el caso general es teóricamente posible (como sucede con UTF-16) para el mismo cadena a ser representada por diferente codificaciones, que una comparación binaria no entendería pero sí una intercalación binaria. Como se documenta en Conjuntos de caracteres Unicode
:
Por lo tanto, si las comparaciones que involucran estas columnas siempre distingue entre mayúsculas y minúsculas, debe establecer la intercalación de la columna en utf8_bin
(para que se distingan entre mayúsculas y minúsculas incluso si olvida especificar lo contrario en su consulta); o si solo las consultas particulares distinguen entre mayúsculas y minúsculas, puede especificar que el utf8_bin
la intercalación debe usarse usando COLLATE
palabra clave:
SELECT * FROM table WHERE id = 'iSZ6fX' COLLATE utf8_bin