From: | "Cristian Saavedra" <cristian(dot)aquii(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: utf8_to_ascii |
Date: | 2006-06-06 23:17:27 |
Message-ID: | 4bd8ca30606061617y6ecf82f9ue850f9202e322b4d@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 6/6/06, Cristian Saavedra <cristian(dot)aquii(at)gmail(dot)com> wrote:
>
> Saludos lista
>
> He estado revisando funciones de conversion, pero me he encontrado con que la funcion to_ascii, no permite conversiones desde codificacion utf8, si no desde otras, necesito convertir caracteres diacriticos (con tildes y demas) a sus letras planas, he encontrado una funcion llamada utf8_to_ascii, pero aunque aparece referenciada, cuando intento llamarla desde postgres no me deja, no se si tengo que crearla, instalarla o que hacer para poderla llamar.
>
> Alguien ha trabajado con esto o sabe como hacerlo?
>
> Gracias de antemano
>
>
> Cristian.
>
Para que vean que no me quedo ocioso esperando una respuesta (aunque
aun no la tenga :( ) les comparto mis adelantos en este tema.
Cree la funcion utf8_to_ascii de la siguiente manera
-- UTF8 --> SQL_ASCII
CREATE OR REPLACE FUNCTION utf8_to_ascii (INTEGER, INTEGER, CSTRING,
INTERNAL, INTEGER) RETURNS VOID AS '$libdir/utf8_and_ascii',
'utf8_to_ascii' LANGUAGE 'c' STRICT;
DROP CONVERSION pg_catalog.utf8_to_ascii;
CREATE DEFAULT CONVERSION pg_catalog.utf8_to_ascii FOR 'UTF8' TO
'SQL_ASCII' FROM utf8_to_ascii;
Los parametros la verdad los encontre en la web, pero la documentacion
de postgres dice que la funcion de conversion debe tener esos
parametros (int, int, cstring, internal, int).
Luego cree la conversion
CREATE CONVERSION myconv FOR 'UTF8' TO 'SQL_ASCII' FROM utf8_to_ascii;
Ahora trato de utilizar la funcion.
usando un statement sencillo
select loc_id_n,utf8_ascii(loc_name_s) from location where loc_id_n=62978
SQL error:
ERROR: function utf8_ascii(character varying) does not exist
HINT: No function matches the given name and argument types. You may
need to add explicit type casts.
In statement:
select loc_id_n,utf8_ascii(loc_name_s) from location where loc_id_n=62978;
Asumo que el error debe ser algo bien basico, pero no he podido
encontrarlo, alguien tiene sugerencias?
From | Date | Subject | |
---|---|---|---|
Next Message | Wojcik, Mario A. | 2006-06-06 23:27:07 | Slony-I |
Previous Message | Alvaro Herrera | 2006-06-06 22:59:26 | Re: Cambiar Caracteres En Toda La Base de Datos |