Re: [pgbr-geral] Acentuação UTF8

2012-12-06 Por tôpico Flavio Henrique Araque Gurgel
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


Re: [pgbr-geral] Acentuação UTF8

2012-12-06 Por tôpico Leandro
2012/12/6 Flavio Henrique Araque Gurgel fla...@4linux.com.br

 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



Flavio obrigado pela ajuda.  Setar o SET lc_collate = 'pt_BR-UTF-8'; não
foi permitido. Mas recriei o banco com o collate correto e resolveu o
problema,

create database teste lc_ctype='pt_BR.utf8' lc_collate='pt_BR.utf8'
template template0;

grato,

Leandro
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral