Dime por favor si entiendo bien : ¿quieren guardar datos que de origen están 
codificados  en latin1 a una base de datos que está configurada con 
codificación 
utf-8?

Si es el caso pues, prueba por favor con esto:

ALTER ROLE elUsuario IN DATABASE laBaseDeDatos SET client_encoding = 'LATIN1'; 
, 
reinicia la conexión y prueba de nuevo.

Porque de otro modo, postgres no sabe cuál es la codificación de origen. O como 
te 
sugerí anteriormente, antes de la carga (en la misma sesión) hay que hacer un 
SET 
client_encoding = 'LATIN1';

Si no funciona, tendrías que hacer la conversión tú, usando iconv al vuelo por 
ejemplo. 







El 26 de abril de 2013 17:56, René Romero Benavides <ichbinr...@gmail.com[1]> 
escribió:


Que yo sepa no ha cambiado la forma de trabajar con codificaciones.
 
1. Quizá sea el plperlu de la nueva versión ? 
2. Prueba dando un SET client_encoding = 'LATIN1'; antes de la carga de datos. 
3. Crea una base de datos así CREATE DATABASE test ENCODING 'LATIN1'; y carga 
ahí 
los datos
4. puedes verificar la salida de diagonal inversa ele en las dos bases de datos 
(8.4 y 
9.2)
 
 


Tenemos una instalación con PostreSQL 8.4 que conecta con u servidor SQL SERVER 
que usa una aplicación propietaria para realizar importaciones de datos.
Usamos plperlu con freetds y no tenemos ningún problema de codificación. Hemos 
instalado en la misma máquina  linux un servidor postgres 9.2.4 para poder 
evaluar 
un traspaso ( aprovechar las mejoras , la version que tenemos ya es la última 
de las 
mantenidas) .  En las pruebas que realizamos los datos nos llegan codificados  
de una 
manera que desconocemos.  Las bases de datos  postgres estan codificadas con 
 UTF8. 
Hemos probado las siguientes opciones sin exito, hemos especificado  la 
codificación 
en el fichero del freetds y luego intentar  convertirla desde el  codigo del 
postgres sin 
exito. Hemos seteado el bytea_output a escape por si nos hacia incorrectamente 
las 
conversiones en la 9,  hemos probado con las configuraciones WIn152X , la base 
de 
datos ms SQL esta en Latin1 en un principio. Pero todo ello sin exito. 
 Urko escribio:
A alguien se le ocurre que puede haber cambiado en la configuracion de 
postgresql 
de la 8.4 a la 9.2 para que no funcione de la misma manera?
 
---------------------------------------
Urko Ellacuria
Responsable de sistemes de informació i comunicacions
7 i TRIA SA
u...@7itria.cat[2]
http://www.7itria.cat[3]
93 682 10 43(ext 213)
 
         Desde la Version 9.0 el Core Team esta trabajando con estandares como 
el 
UTF8 por default sin embargo si podemos ejecutar en funcion a la Region las 
Bases 
Bases de Datos en Latin1 tomando encuenta estos parametros esto ocurre en 
esta nuevas Versiones 
 
Ernesto Lozano  
 
     
 


René Romero Benavides @iCodeiExist[4] @PgsqlMx[5] 
 
Postgresql Tips en español para la comunidad de México e Hispanoamérica.
http://postgresql.org.mx[6] 
 
 
 
 
 
 




René Romero Benavides @iCodeiExist[4] @PgsqlMx[5] 

Postgresql Tips en español para la comunidad de México e Hispanoamérica.
http://postgresql.org.mx[7] 







--------
[1] mailto:ichbinr...@gmail.com
[2] mailto:u...@7itria.cat
[3] http://www.7itria.cat/
[4] https://twitter.com/iCodeiExist
[5] https://twitter.com/PgsqlMx
[6] http://postgresql.org.mx/
[7] http://postgresql.org.mx

Responder a