| 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: | Whole Thread | Raw Message | 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 |