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