Excerpts from uno dos's message of jue sep 15 12:48:33 -0300 2011:
> Hola lista. Tengo una duda.
> Supongamos que yo tengo una base de datos en LATIN1, pero con un 
> CLIENT_ENCODING = 'UTF8'. Esto significa que si hago una INSERT, todas las 
> cadenas a insertar debieran estar en 'UTF8', para que postgresql haga una 
> especie de conversión interna desde UTF8 a LATIN1?
> 
> Esta situación se produce por que hago uso de un framework de desarrollo que 
> trabaja mejor con UTF8, pero el servidor está con una codificación LATIN1. Es 
> por esto que la base de datos estará en LATIN1, aunque yo preferiría que 
> hubiese sido creada en UTF8, e intento suplir este problema con el 
> CLIENT_ENCODING.
> 

Todos los datos en la BD estarán siempre en Latin1.  Si siempre declaras
correctamente el client_encoding, no deberías tener ningún problema de
"caracteres raros".

> La cosa funciona bien, pero yo antes de comenzar a usar el sistema voy a 
> realizar un script que copie algunos datos de otra base de datos (llamemosla 
> A) a la nueva (llamemosla B) y la cosa sería:
> 
> A : encoding LATIN1, client_encoding LATIN1.
> B : encoding LATIN1, client_encoding UTF8.
> 
> Podría generar este proceso algunos caracteres raros o algo por el estilo.

Depende de cómo copies los datos.  Si extraes datos desde A en Latin1,
entonces debes declarar client_encoding=latin1 al ingresarlos en B.  De
lo contrario se corromperán.  Por lo tanto si pones client_encoding=utf8
al conectarte a B, obviamente aparecerán "caracteres raros".

-- 
Álvaro Herrera <alvhe...@alvh.no-ip.org>
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a