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
