Una cadena en MySQL tiene un conjunto de caracteres y una intercalación . Utf8 es el conjunto de caracteres y utf8_bin es una de sus colaciones. Para comparar su literal de cadena con una columna utf8, conviértalo a utf8 prefijándolo con la notación _charset:
_utf8 'Something'
Ahora, una intercalación solo es válida para algunos juegos de caracteres. sensible a mayúsculas y minúsculas la intercalación para utf8 parece ser utf8_bin, que puede especificar como:
_utf8 'Something' collate utf8_bin
Con estas conversiones, la consulta debería funcionar:
select * from page where pageTitle = _utf8 'Something' collate utf8_bin
El prefijo _charset funciona con literales de cadena. Para cambiar el conjunto de caracteres de un campo, existe CONVERTIR... USANDO. Esto es útil cuando desea convertir el campo pageTitle a otro juego de caracteres, como en:
select * from page
where convert(pageTitle using latin1) collate latin1_general_cs = 'Something'
Para ver el carácter y la intercalación de una columna llamada 'col' en una tabla llamada 'TAB', intente:
select distinct collation(col), charset(col) from TAB
Puede encontrar una lista de todos los juegos de caracteres y colaciones en:
show character set
show collation
Y todas las intercalaciones válidas para utf8 se pueden encontrar con:
show collation where charset = 'utf8'