Legal Osvaldo, essa é uma ótima saída eu ia instalar o perl pra fazer isso
mas nem precisa.

Ou uso a função ou uso win1252 já que é windows, acho que vou optar pela
função. Valeu mesmo.

Em 25/03/08, Osvaldo Rosario Kussama <[EMAIL PROTECTED]> escreveu:
>
> Silfar Goulart escreveu:
>
> > Bem resumindo:
> >
> > select to_ascii('CRÉD', 'LATIN1')
> >
> > Se o server_encoding for win1252 retorna 'CRED'
> > Mas se o server encoding for UTF8 retorna 'CRA D', Neste caso deveria se
> > usar a função convert :
> >
> > select to_ascii(convert('CRÉD', 'utf8', 'LATIN1'), 'latin1'), mas aí
> > acontece um erro, pq to_ascii espera um tipo texto e convert agora
> > retorna bytea.
> >
> > Aí não sei como resolver, acho que esta mudança deve ter acontecido no
> 8.3.
> >
>
>
>
> Por quê você não vai por um caminho mais simples e utiliza uma função
> do tipo:
>
> CREATE OR REPLACE FUNCTION sem_acento(text) RETURNS text AS $$
>      SELECT translate($1,
>              'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',
>              'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC');
> $$ LANGUAGE SQL  IMMUTABLE  RETURNS NULL ON NULL INPUT;
>
> Repare que não estão contemplados todos os caracteres acentuados
> (creio que os do português estão), mas, aí, é só uma questão de
> complementar as listas acima (caracteres acentuados e os
> correspondentes não acentuados).
>
> Dependendo do conteudo de seu banco de dados pode ser que você
> necessite tratar, por ex. o n com til, s com cedilha, os com caron (um
> circunflexo invertido), os com barra etc.
>
> Se você utilizar árabe, hangul ou chinês (entre outros) não tenho a
> menor idéia do comportamento esperado para esta função.
>
>
> Osvaldo
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



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

Responder a