Estamos teniendo problemas para actualizar los datos de una Unidad Academica en las tablas del Moodle. El problema se presenta cuando el demonio del moodle quiere insertar/actualizar determinados datos en la base postgres del Moodle a partir de las tablas del Guaraní.
Lo extraño del caso es que hay 3 UA distintas que trabajan volcando datos sobre la misma base del Moodle y las mismas tablas postgres, pero solamente desde 1 da errores en los strings, y concretamente el problema se produce cuando existe algun apellido o nombre con “Ñ”.
Alguno tiene idea de que puede ser? Que se puede investigar desde el Guarani o desde Postgres para solucionar este problema?.
Por otra parte el administrador del Moodle dice que antes que empezara a producirse este error los datos de la UA en cuestion pasaban sin problemas con la “Ñ” incluidas. Según dicen, el problema parecería que se empezó a presentar después que hubo un corte de luz y caida del servidor Postgres, anque reitero que lo raro es que ocurre solo con 1 de los servidores Informix que le pasan datos.
Saludos
Gustavo
Ing. Gustavo Juan Palau
Departamento de Sistemas de la Dirección General de Alumnos
Universidad Nacional de San Martín
gpalau@unsam.edu.ar
La verdad no tengo mucha idea sobre como es el proceso de sincronizacion entre las bases, no se si se realiza mediante archivo intermedio o si directamente existe un proceso que lee de una base de datos e impacta en la otra. En todo caso pareciera tener algo que ver con el charset, han probado si estos problemas se repiten con otros caracteres extendidos?.. digamos vocales acentuadas, algun simbolo, etc.
Si, Ricardo. Los problemas no son solo con la Ñ sino con todos los caracteres extendidos.
Entiendo que el demonio es un programa en Power Builder que se ejecuta en cada servidor Informix, que lee los datos de unas tablas intermedias del Guaraní (en Informix) e inserta los datos en las tablas del Moodle (Postgresql), esto ultimo usando ODBC.
no se si suene muy loco mi pedido, pero si pudieran mirar en la definicion del Origen de Datos para el ODBC que concuerde el encoding seria barbaro.
Digamoslo asi, quizas en lugar de seleccionar PosgreSQL ANSI se selecciono PostgreSQL Unicode y viceversa, no se necesita mucho… solo un desliz con el mouse,
lo bueno es que es facil de comparar ya que tenes las otras 2 maquinas corriendo sin problemas.
Posiblemente tengas que hacer un middleware que permita la conversión de caracteres extendidos
al formato UTF (en el caso de que esten en UTF). Yo tengo una clase en java para esto, si queres puedo reformarla para la conversión.
Una de las verificaciones que hicimos fue las de los ODBC y encontramos justamente lo que vos decís, estaba distinto en el servidor que trae problemas. Pero lo modificamos y hasta el momento el problema sigue existiendo (yo pensé que con eso se iba a arreglar!!).
Gracias de todas maneras!
Emanuel: Pruebo lo que enviaste y te aviso. La base del Moodle está en UTF8.