a função TO_ASCII no postgresql é muito util principalmente para buscas onde se quer ignorar acentos em string. Ela funciona bem quando o banco de dados estiver em LATIN1 por exemplo.
SELECT TO_ASCII('tchê'); -- retorna 'tche'
mas quando usamos ela em um banco UTF8 retorna o erro “conversão de condificação de UTF8 para ASCII não é suportada”.
Para contornar isso criei uma função SEM_ACENTO para usar no lugar da TO_ASCII.
CREATE OR REPLACE FUNCTION sem_acento(text) RETURNS text AS $BODY$ select translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ','aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC'); $BODY$ LANGUAGE 'sql' IMMUTABLE STRICT;
16/07/2008 às 18:42
[...] use em seus SQL a função TO_ASCII, com UTF-8 ela não irã funcionar. Veja aqui a alternativa em um post passado que eu [...]
29/10/2010 às 11:02
[...] use em seus SQL a função TO_ASCII, com UTF-8 ela não irã funcionar. Veja aqui a alternativa em um post passado que eu fiz. Publicado em Desenvolvimento, Linux, PostgreSQL. Tags: converter, [...]