2009/4/28 Prof. Benedito A. Cruz <[email protected]>
> Luigi
>
>
> Tá certo, fiz o teste aqui e deu isso mesmo. Vou passar para os
> desenvolvedores. A aplicação é em PHP e o problema deve estar lá, portanto.
> Mas se alguém puder me dar uma luz de como resolver isso em PHP por favor me
> mande a dica.
>
Não deixe o PHP (5.2 ou anteriores) usar UPPER e LOWER. É EXATAMENTE ELE
QUEM AVACALHA. Mande para o banco que ele resolve e resolve bem.
>
>
> Bene
>
>
> Luigi Castro Cardeles escreveu:
>
> Olá,
>
> continua achando que o problema não é no postgresql...
> olha só:
> http://www.nabble.com/Problemas-com-Acentua%C3%A7%C3%A3o.-td15409723.html
> []'s
> Luigi Castro Cardeles
>
>
> 2009/4/28 Prof. Benedito A. Cruz <[email protected]>
>
>> Resolvemos transferindo os UPPERs e LOWERs para a aplicação, mas ainda
>> acho que não deveria ser assim. Falha de projeto do PostgreSQL, essas
>> funções deveriam se comportar de forma diferente dependendo da
>> codificação de cada banco e não da base toda...
>>
>>
>> Luigi Castro Cardeles escreveu:
>> > 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 <[email protected]
>> > <mailto:[email protected]>>
>> >
>> > 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 <[email protected]
>> >> <mailto:[email protected]>>
>> >>
>> >> 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 [email protected] <mailto:[email protected]>
>> >> 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
>> >> [email protected]
>> >> <mailto:[email protected]>
>> >>
>> 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 list
>> >> [email protected] <mailto:
>> [email protected]>
>> >>
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>> >>
>> >
>> >
>> > --
>> > Benedito A. Cruz
>> > Centro de Referência em Informação Ambiental - CRIA
>> > email [email protected] <mailto:[email protected]>
>> > 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
>> > [email protected]
>> > <mailto:[email protected]>
>> >
>> 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 list
>> > [email protected]
>> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>> >
>>
>>
>> --
>> Benedito A. Cruz
>> Centro de Referência em Informação Ambiental - CRIA
>> email [email protected]
>> 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
>> [email protected]
>> 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
> [email protected]https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
>
> --
> Benedito A. Cruz
> Centro de Referência em Informação Ambiental - CRIA
> email [email protected]
> 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
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
--
William Leite Araújo
Mobile Solution Manager - QualiConsult
Analista de Banco de Dados
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral