Em 9 de agosto de 2010 15:53, João Marcelo Loureiro do Amaral
<[email protected]> escreveu:
> Caro Osvaldo, a sua ajuda foi muito boa!
> Depois que igualo os encoding (server e cliente), como vc sugeriu, então
> funciona quando executo as funções direto no pgAdmin.
> Porém eu tenho uma função que gera uma query dinâmica, construindo uma
> chamada as funções de xml e depois a executa com um Return Query.
> As vezes o negocio  retorna com um encoding enorme, outras vezes vazio...
> Faço o Raise Notice para pegar o que está sendo executado e executo na mão,
> então tudo funciona, mas dentro da função...
>
> Agradeço muito... abraços...
>
> Em 6 de agosto de 2010 16:38, Osvaldo Kussama <[email protected]>
> escreveu:
>>
>> Em 6 de agosto de 2010 15:19, João Marcelo Loureiro do Amaral
>> <[email protected]> escreveu:
>> > Pessoal, alguem poderia me dá alguma dica?
>> > Agradeço...
>> >
>> > Em 2 de agosto de 2010 17:25, João Marcelo Loureiro do Amaral
>> > <[email protected]> escreveu:
>> >>
>> >> Pessoal estou com problemas na geração de xml pelo postgres 8.4.
>> >> Gostaria que vocês me ajudassem.
>> >>
>> >> Observando a documentação, eu percebi que as funções de xml do postgres
>> >> só
>> >> trabalham com UTF-8 e o meu banco é LATIN1.
>> >> Então eu faço a seguinte chamada pelo pgadmim:
>> >>
>> >> select xmlelement(name item, xmlattributes('balão' as att));
>> >>
>> >> e veja a resposta:
>> >>
>> >> <item att="bal&#x3BC0;"/>
>> >>
>> >> Não estou entendendo que danada de codificação é essa! Não parece com
>> >> UTF-8! O curioso é que ele converteu o "ão" ao invés de somente o "ã"!
>> >> Já tentei voltar para LATIN1 com a função de string convert, mas não
>> >> consigo nem a pau!
>> >>
>> >> O encoding do cliente pgAdmin é UTF-8 (select pg_client_encoding()).
>> >>
>> >> Alguém por favor me ajude.
>> >> --
>>
>>
>> Você já verificou se o client_encoding realmente está compatível com o
>> encoding do cliente?
>> Rode os seguintes comandos SQL:
>> SHOW server_encoding;
>> SHOW client_encoding;
>> Se houver alguma discrepância ou altere o client_encoding no
>> postgresql.conf ou em cada sessão rode um SET client_encoding.
>>


Se por alguma razão o encoding utilizado em sua função não é válido
tente executar, no início da função, o comando SQL:
SET client_encoding TO encoding_desejado;

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a