Silfar Goulart de Castro escreveu:
> Não posso mudar o banco, o cliente é windows, e uma aplicação feita em
> delphi, mas até o pgadmin3 do linux tem problema.
> 
> Já vi exemplos usando convert(), mas nenhuma funcionou aqui devo estar
> fazendo alguma coisa errada.
> 
> Em Seg, 2008-03-17 às 11:35 -0300, Ribamar Sousa escreveu:
>> Em 17/03/08, Silfar Goulart de Castro<[EMAIL PROTECTED]> escreveu:
>>> OK, vasculhei a lista e tentei resolver o meu problema mas ainda não
>>>  consegui.
>>>
>>>  alguem poderia me dar uma receita de bolo para isto
>>>
>>>  repetindo, o encoding do banco está em utf8, preciso pesquisar por uma
>>>  parte inicial de um determinado campo, porém a consulta deve trazer
>>>  independente de maiúscula, minúscula, acentuado ou não, ç ou c etc...
>>>
>>>  até agora tenho usado assim, mas o encoding era latin1.
>>>
>>>  SELECT ID_TITULAR , NM_TITULAR, SIGLA_SOC, TP_PESSOA
>>>  FROM TITULAR T
>>>  WHERE (to_ascii(t.nm_titular) ilike to_ascii(:par))
>>>  ORDER BY NM_TITULAR
>> Algumas sugestões:
>>
>> Bem, você pode alterar o banco para latin1.
>> Se não puder fazer isso, deve então configurar seu cliente para UTF-8,
>> qual é ele?.
>>
>> Na versão 8.2 você cria bancos latin1 sem problema.
>> Na versão 8.3 (se Linux) criando um cluster novo assim:
>>
>> export LANG=pt_BR.iso-8859-1
>>
>> initdb --encoding latin1 -D /usr/local/pgsql/data
>>


Qual o resultado de:
SELECT ID_TITULAR , NM_TITULAR, SIGLA_SOC, TP_PESSOA
FROM TITULAR T
WHERE (to_ascii(convert(t.nm_titular, 'LATIN1'), 'LATIN1') = 
to_ascii(convert(:par, 'LATIN1'), 'LATIN1'))
ORDER BY NM_TITULAR;

Poderá apresentar erro se, por acaso, seu campo contiver caracteres 
existentes no UTF-8 mas não no Latin1. Neste caso creio que o melhor 
seja utilizar a função translate e especificar como converter cada um 
dos caracteres acentuados.

Lembre-se que a função to_ascii funciona apenas para os encodings 
LATIN1, LATIN2, LATIN9 e WIN1250.

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

Responder a