Re: utf8_to_ascii

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?

In response to

Responses

Browse pgsql-es-ayuda by date

  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