Re: latin1 y

From: Luis Rodrigo Gallardo Cruz <rodrigo(at)nul-unu(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: latin1 y
Date: 2008-02-09 18:55:57
Message-ID: 20080209185557.GO7946@lisa.rodrigo.nul-unu.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Sat, Feb 09, 2008 at 11:52:37AM -0500, rafael bonifaz wrote:
> Hola a todos,
>
> Estamos trabajando en un sistema hecho en php + postgres. Los archivos de
> php estan guardados como iso 8859 y la base de datos estaba hecha utilizando
> utf8. Lo que obviamente causó problemas con las aplicaciones y la definición
> del DefaultCharSet en el apache. O teníamos problemas con con tildes y ñ de
> la base de datos o con tildes y ñ de los documentos de texto. Dependiendo
> como definamos el charset en el apache.
>
> 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?

> 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.

In response to

  • latin1 y at 2008-02-09 16:52:37 from rafael bonifaz

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message rafael bonifaz 2008-02-09 21:32:04 Re: latin1 y
Previous Message Diego Marin Correa 2008-02-09 18:08:30 Re: Automatizar borrado de registros semanalmente