Autor Tópico: ** RESOLVIDO ** Acentuação no MySQL  (Lida 4804 vezes)

bdinardi

  • Novato
  • *
  • Mensagens: 24
    • Email
** RESOLVIDO ** Acentuação no MySQL
« Online: Março 04, 2008, 01:58:14 pm »
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 ?
« Última modificação: Novembro 06, 2009, 10:25:29 am por Rodrigo Lins »

bdinardi

  • Novato
  • *
  • Mensagens: 24
    • Email
Re: Acentuação no MySQL
« Responder #1 Online: Março 04, 2008, 04:39:49 pm »
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

  • Novato
  • *
  • Mensagens: 13
    • Email
Re: Acentuação no MySQL
« Responder #2 Online: Março 12, 2008, 03:14:38 pm »
Parabéns bdinardi.