Re: latin1 y

From: "rafael bonifaz" <rafael(dot)bonifaz(at)gmail(dot)com>
To: "Luis Rodrigo Gallardo Cruz" <rodrigo(at)nul-unu(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: latin1 y
Date: 2008-02-09 21:32:04
Message-ID: bde92d2b0802091332s2507f6f3s549d011e69dc0b50@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias Luis por tu pronta respuestas

[........]
>
>
> > Entonces el equipo de desarrollo optó por mover la base de datos a
> latin1 y
> > casi todo funciona bien menos los campos tipos money. En lugar de
> aparecer
> > el sígno de $ aparecen carcateres extraños como en este ejemplo:
> > €100,00
>
> Eso tiene toda la cara de error de codificación. Ahora bien, según yo,
> los campos money no guardan el símbolo de moneda, sino tan solo la
> cantidad, por lo que sospecho que es más un problema de representación
> que de los datos guardados en sí. ¿Qué locale estás usando?
>

Sinceramente no se como ver el locale que estamos utilizando. En todo caso
estaba revisando la documentación de postgres y vi que el tipo de datos
money esta haciendo "depracated" y se recomienda utilizar un tipo de dato
numérica y la función to_char.

Entonces de esta manera tenemos un problema con los locales ya que queremos
que el separador de miles sea el "." y de decimales sea la ",". Es decir al
revés que lo que hace el postgess por defecto.

>
> > La pregunta concreta sería. Puedo usar el campo money con la
> codificación
> > Latin1 o debo usar UTF8, donde se tendría el problema de migrar todos
> los
> > scripts php a utf8.
>
> Bueno, migrar los scripts en sí no es problema, basta con llamar un
> convertidor :) Pero luego tendrías que convencer a todas tus
> herramientas de edición de no regresarlos y eso, dependiendo de las
> herramientas puede ir desde 'trivial' hasta 'casi imposible'.
>
> Por otro lado, no *necesitas* convertir los scripts. Lo que necesitas
> es que el servidor y el cliente (en este caso PHP) estén de acuerdo en
> la codificación a usar para comunicarse. La forma de hacer esto es que
> el cliente le avise al servidor, usando un
>
> set client_encoding = 'latin1';
>
> al conectar, antes de cualquier otra comunicación.
>

Quieres decir que con esto podría tener la base de datos en UTF8 y los
scripts en cualquier charset si defino el encoding del cliente como utf8. Me
gusta bastante esta solución.

Gracias por la ayuda.

Saludos,

Rafael

In response to

  • Re: latin1 y at 2008-02-09 18:55:57 from Luis Rodrigo Gallardo Cruz

Responses

  • Re: latin1 y at 2008-02-09 21:59:08 from Luis Rodrigo Gallardo Cruz
  • Re: latin1 y at 2008-02-09 22:35:39 from Alvaro Herrera
  • Re: latin1 y at 2008-02-10 07:52:08 from Jaime Casanova

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Luis Rodrigo Gallardo Cruz 2008-02-09 21:59:08 Re: latin1 y
Previous Message Luis Rodrigo Gallardo Cruz 2008-02-09 18:55:57 Re: latin1 y