E como vou saber se o caracter está ou não dentro do enconding. Em Seg, 2008-03-17 às 14:51 -0300, Osvaldo Rosario Kussama escreveu: > 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
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
