Re: postgres.mo y es_ES

From: Oswaldo Hernández <listas(at)soft-com(dot)es>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Ayuda en Español de Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: postgres.mo y es_ES
Date: 2006-03-10 18:41:26
Message-ID: 4411C856.3050302@soft-com.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro Herrera escribió:
> Oswaldo Hernández escribió:
>
> Hola,
>
> Tu ultima pregunta primero:
>
>
>>De todas formes me gustaria que me indicarais como ponerme en contacto con
>>el encargado de estas traducciones para sugerirle que evitara al máximo la
>>utilización de caracteres especiales en los mensajes.
>
>
> Puedes contactarlo a su mail:
>
> alvherre(at)alvh(dot)no-ip(dot)org
>
> :-)
>

Parece que la búsqueda ha sido fácil. :)

> En cualquier caso, no estoy de acuerdo con evitar los caracteres
> "especiales" (que en realidad no tienen nada de especial, solo son
> caracteres fuera de ASCII). Si la politica fuera esa, habria que quitar
> todas las tildes, las eñes y los signos de interrogacion.
>
> Otra idea seria dejar esos dos mensajes sin caracteres no ASCII, pero no
> me gusta mucho por ser demasiado simplista, no solucionar realmente el
> problema y ademas porque esos mensajes aparecen en otras partes del
> sistema (por ej. DROP DATABASE inexistente)
>
>
>
>>Pero en el momento de establecer la conexion si se envia un nombre de rol,
>>o de base de datos, que no existe el mensaje que devuelve la base de datos
>>es:
>>
>>FATAL: no existe la base de datos «bdatos»
>>o
>>FATAL: no existe el rol «aaa»
>>
>>El problema es en momento de la conexión todavia no se ha enviado el client
>>encoding, y aunque esta establecido por defecto a UTF8, el cliente no
>>entiende del caracteres '«' y '»', y por lo tanto me muestra un error de
>>codificación.
>
>
> Hmm. Es cierto, puede ser problematico en este caso. Es mas, yo diria
> que lo que sucede es que en este punto el servidor aun no sabe que el
> cliente es UTF8, y por lo tanto en lugar de recodificar el mensaje y
> mandarlo en UTF8, lo manda en Latin1 (que es la codificacion en que
> estan hechos los .mo).
>
> Una posible solucion seria cambiar el sistema de manera que antes de
> haber recibido el client_encoding, asuma que el cliente solo puede
> entender ASCII. Si mal no recuerdo eso haria que el mensaje fuera
> recodificado asi:
>
> FATAL: no existe la base de datos <<bdatos>>
>
> con lo cual asumo que no habria ningun problema.
>

Despues de probar mas veo que el problema no solo ocurre el en momento de la conexión, por lo que mi
suposicion de que el hecho ocurria antes de enviar el client_encoding era erróneo. He provocado un
error de integridad y continua el problema.

Alto !!!!!!

Acabo de solucionarlo (+-) :)

He forzado la conversion de la cadena con el mensaje de 'latin1' a 'unicode' y ya funciona.

Ufffffffffffff (esto es un laaaaaargo soplido de descanso) ;)

> Lamentablemente estoy algo corto de tiempo por estos dias como para
> generar un parche y proponerlo. Si te atreves a hacerlo te lo
> agradeceria.
>
Agradezco la confianza pero me temo que esto es demasiado para mi, sinceramente no me atrevo a
ponerme a parchear postgres.

Pregunta:
¿Hay previsto cambiar en un futuro próximo los archivos de mensajes a unicode?
Si se hace tendré que eliminar la conversion.

Saludos,
--
*****************************************
Oswaldo Hernández
oswaldo(at)soft-com(dot)es
*****************************************

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Felipe Amezquita 2006-03-10 21:02:01 ejecutar funcion de cursor dentro de otra
Previous Message Luis Rodrigo Gallardo Cruz 2006-03-10 18:15:54 Re: Haskell