** RESOLVIDO ** Acentuação no MySQL

(bdinardi) #1

Minhas tabelas no MySQL têm registros acentuados, que são gravados, lidos e exibidos perfeitamente.
Porém, um comando
SELECT id_uf FROM uf WHERE nome_uf = ‘sao paulo’ recupera o mesmo registro que o comando
SELECT id_uf FROM uf WHERE nome_uf = ‘São Paulo’.

Não há diferenciação de caracteres maiúsculos/minúsculos e nem dos acentuados.

Alguém sabe o que devo configurar no MySQL para que o acesso seja feito pelo conteúdo exato do campo ?

(bdinardi) #2

Já descobri a solução.

Registrem aí, pra enriquecer seus conhecimentos:

SELECT id_uf
FROM uf
WHERE nome_uf = ‘São Paulo’
COLLATE latin1_bin;

O collate latin1_bin resolveu e só encontra os registros exatamente iguais.
(essa tabela foi criada originalmente com collation = latin1_swedish_ci, o que faz com que nome_uf = ‘sao paulo’, nome_uf = ‘são paulo’, etc… também encontrem o mesmo registro).

(resaro) #3

Parabéns bdinardi.