Hola a tod@s, os planteo un problema que tenemos con PHP y el ODBC del IBM i por si alguien pudiera darons alguna pista.
Desde varios aplicativos desarrollados en PHP y ejecutándose sobre Linux se accede al IBM i mediante ODBC extrayendo información con SELECTs. Todo parece funcionar bien, hasta que en los datos CHAR o VARCHAR aparecen símbolos como las Ñ, acentos o apóstrofos, etc. El CCSID de las tablas consultadas es 1145 y, si no nos hemos equivocado, en Linux está el LOCALE para utf-8. Si hacemos las pruebas con isql desde Linux, no hay ningún problema, la consulta se ejecuta. Si lo hacemos desde PHP no lo hace, pero tampoco sabemos cómo averiguar qué error está dando. Hemos contactado con IBM para asegurarnos que el controlador ODBC está realizando la conversión de CCSID 1145 a CCSID 1208 (utf-8), y revisando las distintas trazas nos confirman que sí. Lo curioso es, que unas veces funciona sin ningún problema y otras no. Si ejecutamos el PHP desde Windows y el ODBC de Windows, ¡nunca falla! Lo estamos solucionando incluyendo en el SELECT un CAST explícito indicando el CCSID 1208 y parece que funciona, pero no estamos muy seguros. ¿Tenéis alguna experiencia con este problema? ¿Qué solución le habéis dado? ¿Puede ser que nos falte algo por configurar en PHP de Linux? Gracias a todos por vuestros comentarios. Javier Mora
____________________________________________________ �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L.
