Una stringa in MySQL ha un set di caratteri e un confronto . Utf8 è il set di caratteri e utf8_bin è una delle sue regole di confronto. Per confrontare la tua stringa letterale con una colonna utf8, convertila in utf8 anteponendola alla notazione _charset:
_utf8 'Something'
Ora un confronto è valido solo per alcuni set di caratteri. Il case-sensibile confronto per utf8 sembra essere utf8_bin, che puoi specificare come:
_utf8 'Something' collate utf8_bin
Con queste conversioni, la query dovrebbe funzionare:
select * from page where pageTitle = _utf8 'Something' collate utf8_bin
Il prefisso _charset funziona con le stringhe letterali. Per modificare il set di caratteri di un campo, c'è CONVERT ... USING. Questo è utile quando desideri convertire il campo pageTitle in un altro set di caratteri, come in:
select * from page
where convert(pageTitle using latin1) collate latin1_general_cs = 'Something'
Per vedere il carattere e le regole di confronto per una colonna denominata 'col' in una tabella denominata 'TAB', prova:
select distinct collation(col), charset(col) from TAB
È possibile trovare un elenco di tutti i set di caratteri e le regole di confronto con:
show character set
show collation
E tutte le regole di confronto valide per utf8 possono essere trovate con:
show collation where charset = 'utf8'