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/
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 |