Em 06-12-2012 08:02, Leandro escreveu:
> Pessoal, sei que o assunto é recorrente mas não achei nehuma thread que
> fica-se claro. Estou usando os clientes  pgadmin ou phppgadmin acessando
> uma base num servidor Linux. Tanto client_encoding e o  server_encoding
> estão como UTF8.   Quando tento utilizar as funções de texto upper,
> lower em um simples select as mesmas não retornam corretamente.
>
>
>
> select lower('ÁÃÀ'),upper('áãà'),lower('A')
>
> lower upper   lower
> ÁÃÀ   áãà     a

Provavelmente a ordenação (collation) não está correta.

> Ou seja ele ignora completamente as funções.  Alguém tem alguma dica
> para contornar isso usando UTF8?

Qual o valor de lc_collate?
SHOW lc_collate;

O resultado deve ser pt_BR-UTF-8.
Se não for, faça:
SET lc_collate = 'pt_BR-UTF-8';
e teste novamente as funções upper e lower.

> OBS: Antigamente usava LATIN1 (que o pessoal desaconselhou a usar)  e
> não tinha problema.

Porque a ordenação estava provavelmente correta.

[]s

__________________________________
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos & Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
______________________________
FREE SOFTWARE SOLUTIONS
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a