Olá, esse pode ser seu problema... http://archives.postgresql.org//pgsql-bugs/2002-05/msg00138.php
Esse se enquadra mais no solaris (é o que vc usa?) mas mesmo assim o título é sugestivo... http://mail.nl.linux.org/linux-utf8/2002-10/msg00075.html []'s Luigi Castro Cardeles 2009/4/28 Prof. Benedito A. Cruz <b...@cria.org.br> > Onde o UPPER não funciona o initdb usou o padrão do SO que é LC_COLLATE = > en_US.UTF-8. > O cliente já testei com UTF8 e LATIN1 acessando este banco e ambos dão > problema. > > Bene > > > Luigi Castro Cardeles escreveu: > > Olá, > > essas regras são controladas pelas variáveis LC_COLLATE e LC_CTYPE (que são > definidas no initdb). > http://www.postgresql.org/docs/8.3/static/sql-createdatabase.html > > Você tem que tomar cuidado também com a codificação do cliente onde você > está digitando... > Qual o valor das mesmas no caso onde o upper não retorna o esperado? > > Luigi Castro Cardeles > > > 2009/4/28 Prof. Benedito A. Cruz <b...@cria.org.br> > >> Caros >> >> Recentemente tive problemas com uma aplicação que funcionava em um >> banco LATIN1 mas dava problemas em um banco UTF-8. Depois de pesquisar >> um pouco detectei o seguinte comportamento no PG. >> >> 1) Num banco criado como LATIN1: >> >> postgres=# \l >> List of databases >> Name | Owner | Encoding >> -----------+-----------+---------- >> xpto | xxxadm | LATIN1 >> postgres | postgres | LATIN1 >> template0 | postgres | LATIN1 >> template1 | postgres | LATIN1 >> (4 rows) >> >> postgres=# \c xpto >> You are now connected to database "xpto". >> xpto=# select UPPER('a'); >> upper >> ------- >> A >> (1 row) >> >> xpto=# select UPPER('á'); >> upper >> ------- >> Á >> (1 row) >> >> 2) Num banco criado como UTF8: >> >> postgres=# \l >> List of databases >> Name | Owner | Encoding >> -----------+-----------+---------- >> xpto | xxxadm | LATIN1 >> postgres | postgres | UTF8 >> template0 | postgres | UTF8 >> template1 | postgres | UTF8 >> (4 rows) >> >> postgres=# \c xpto >> You are now connected to database "xpto". >> xpto=# select UPPER('a'); >> upper >> ------- >> A >> (1 row) >> >> xpto=# select UPPER('á'); >> upper >> ------- >> á >> (1 row) >> >> O problema é que no segundo caso a aplicação dá erro porque usa UPPER >> e LOWER nas queries, que retornam com problemas. O mesmo problema ocorre >> se o banco "xpto" está em UTF8. A solução foi transferir o UPPER e LOWER >> para a aplicação e retirar da query. >> >> Pergunta: o comportamento dessas funções não deveria seguir o >> encoding do banco ao qual se está conectado? >> >> -- >> Benedito A. Cruz >> Centro de Referência em Informação Ambiental - CRIA >> email b...@cria.org.br >> fone 55 19 3288 0466 >> >> >> -- >> This message has been scanned for viruses and >> dangerous content by MailScanner, and is >> believed to be clean. >> >> _______________________________________________ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > > -- > This message has been scanned for viruses and > dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is > believed to be clean. > > ------------------------------ > > _______________________________________________ > pgbr-geral mailing > listpgbr-ge...@listas.postgresql.org.brhttps://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > > -- > Benedito A. Cruz > Centro de Referência em Informação Ambiental - CRIA > email b...@cria.org.br > fone 55 19 3288 0466 > > > -- > This message has been scanned for viruses and > dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is > believed to be clean. > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral