2009/9/3 Osvaldo Kussama <[email protected]>

> 2009/9/3 Tiago Adami <[email protected]>:
> > Bom dia a todos.
> >
> > Tenho um banco na versão 8.3 do PostgreSQL encoding UTF8. Estou tentando
> > executar a função TO_ASCII e então recebo a informação de que a conversão
> > não é suportada:
> >
> > ERROR:  encoding conversion from UTF8 to ASCII not supported
> >
> > Já tentei usar as funções CONVERT e CONVERT_TO, mas os dados retornados
> são
> > do tipo bytea e não servem. Também tentei usar o parâmetro 'LATIN1' e o
> > resultado não é compatível com a realidade.
> >
> > Exemplos:
> >
> > SELECT TO_ASCII( 'À AÇÃO' )
> > Resultado:
> > ERROR:  encoding conversion from UTF8 to ASCII not supported
> >
> > SELECT TO_ASCII( 'À AÇÃO', 'LATIN1' )
> > Resultado:
> > ------------------
> > to_ascii
> > text
> > ------------------
> > "A  AA A O"
> >
> > Há como fazer esta conversão em um banco UTF8?
> >
>
>
> Do manual:
> "to_ascii(string text [, encoding text]) - Convert string to ASCII
> from another encoding (only supports conversion from LATIN1, LATIN2,
> LATIN9, and WIN1250 encodings) "
> http://www.postgresql.org/docs/current/interactive/functions-string.html
>
> Acentuação pode ser bastante complexa dependendo da língua (o que é um
> caracter acentuado em hangul ou em chinês?).
> O que utilizo é uma função que chama a built-in translate.
>
> CREATE FUNCTION sem_acento(text) RETURNS text AS $$
>    SELECT
> translate($1,'ÀÁÂÃÄÅĀĂĄÈÉÊËĒĔĖĘĚÌÍÎÏĨĪĮİÒÓÔÕÖØŌŎŐÙÚÛÜŨŪŬŮŰŲàáâãäåāăąèéêëēĕėęěìíîïĩīĭįòóôõöøōŏőùúûüũūŭůųÇçÑñÝýÿĆćĈĉĊċČčĎďĐđĜĝĞğĠġĢģĤĥĦħ',
>
>
> 'AAAAAAAAAEEEEEEEEEIIIIIIIIOOOOOOOOOUUUUUUUUUUaaaaaaaaaeeeeeeeeeiiiiiiiiooooooooouuuuuuuuuCcNnYyyCcCcCcCcDdDdGgGgGgGgHhHh');
> $$
> LANGUAGE sql IMMUTABLE STRICT;
>
> Modifique as strings de modo a contemplar todos os caracteres que
> deseja converter para seu correspondente não-acentuado.
>
> Osvaldo
>

Obrigado Osvaldo. Queria exatamente isso: alternativa para não utilizar a
função TO_ASCII.

-- 
TIAGO J. ADAMI
http://www.adamiworks.com
adamitj "at" gmail "dot" com
Dois Vizinhos - PR
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a