Eu tenho uma consulta que usa:
t3.`value` LIKE "%someval%" COLLATE utf8_general_ci
Eu carrego a página no meu navegador e recebo este erro impresso na tela:
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
A consulta também é repetida na página. E se eu copiar e colar a consulta gerada em uma janela SQL do phpMyAdmin, ela funcionará bem, produzindo o resultado esperado.
Eu tive um problema anterior em que o PHP não podia usar LOAD DATA INFILE. Eu me pergunto se este é um tipo de problema semelhante. Mas não consigo ver como seria.
Isso está sendo executado em uma pilha MySQL Apache PHP do Ubuntu Server 10.04.
Obrigado google.
Aparentemente, tenho usado PHP com MySQL sem precisar me preocupar com o agrupamento do cliente.
Não sei se isso levará a outros problemas, mas no momento resolvi esse problema adicionando a seguinte consulta ao controlador principal (para que a consulta seja executada para todos os scripts do site).
Agora minha consulta funciona por meio do meu script PHP. Suponho que o phpMyAdmin possa pegar o agrupamento de quaisquer tabelas que você esteja consultando e definir o agrupamento do cliente de acordo. Estou apenas supondo sobre isso.
Aqui é onde encontrei a resposta: http://dev.mysql.com/doc/refman/4.1/en/charset-collation-charset.html