Silfar Goulart de Castro escreveu: > 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. >>> <corte> >> >> 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. >>
Você deve ter algum controle sobre o que é inserido em seu banco de dados. Em quais línguas estão os textos inseridos? Veja a tabela "Comparison of the various parts of ISO 8859": http://en.wikipedia.org/wiki/ISO8859 http://en.wikipedia.org/wiki/Windows-1250 Lembre-se de que em algumas línguas pode não ser simples fazer o mapeamento: caracter acentuado -> caracter não acentuado. Osvaldo PS. Não deixe de ler este artigo: http://local.joelonsoftware.com/mediawiki/index.php/O_M%C3%ADnimo_Absoluto_Que_Todo_Desenvolvedor_de_Software_Absolutamente%2C_Positivamente_Precisa_Saber_Sobre_Unicode_e_Conjuntos_de_Caracteres_%28Sem_Desculpas%21%29 _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
