Re: Quitar acentos de palabras codificadas en UTF8

From: Julio Cesar Sánchez González <knowhow(at)sistemasyconectividad(dot)com(dot)mx>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Quitar acentos de palabras codificadas en UTF8
Date: 2008-04-18 23:01:15
Message-ID: 4809283B.8050304@sistemasyconectividad.com.mx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Julio Cesar Sánchez González wrote:
> Hola a todos compañeros listeros, el motivo del siguiente email es el
> de preguntarles si conocen alguna funcion que elimine acentos en una
> base de datos UTF8, antes usaba la funcion to_ascii en bases de datos
> Latin1 para este proposito ,pero ahora que empiezo a migrar todo a
> UTF8 me topo con el siguiente problema: ERROR: "la conversión de
> codificación de UTF8 a ASCII no está soportada ".
>
Hola de nuevo compañeros, pues aqui expongo la solucion que encontre
para este problema para que quede en el registro:

sicodelico=# select id, otro from foobar;
id | otro
----+--------
1 | algo
2 | algo
3 | algo
4 | algo
2 | algo
5 | México
6 | México
7 | Niño
1 | Mexico
(9 filas)

Para eliminar los acentos basta con un simple translate.

select id, translate(otro,'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜ','aeiouAEIOUaeiouAEIOU')
as otro from foobar;
id | otro
----+--------
1 | algo
2 | algo
3 | algo
4 | algo
2 | algo
5 | Mexico
6 | Mexico
7 | Niño
1 | Mexico
(9 filas)

El prototipo de funcion quedaria asi:

create or replace function sinacentos (text) returns text AS $$
select translate($1,'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜ','aeiouAEIOUaeiouAEIOU');
$$ language sql;

--
Saludos,

Julio Cesar Sánchez González.

--
Ahora me he convertido en la muerte, destructora de mundos.
Soy la Muerte que se lleva todo, la fuente de las cosas que vendran.

www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Brando Torres 2008-04-19 01:32:55 Captura de Errores en Array
Previous Message Ryan Wells 2008-04-18 15:45:13 Re: pg_dump Performance