Hola Javier No hice correctamente la pregunta.... y se escapó el "enviar". Me refería a si has comprobado con un DSPFD el CCSID de los archivos ¿es 1145?
Para un error 503 lo primero que revisaría son los logs de apache y no entiendo que no se pueda tocar la configuración de apache, ya que puedes tener múltiples configuraciones para host virtuales. Y sobre los puntos que comentas, aunque se haya configurado utf-8 en las cabeceras de html esto solo afecta al código estático de las páginas ¿correcto? No comentas nada de php.ini ¿tambien está configurado para utf-8 ? y no entiendo porqué utilizas utf8_decode() si tienes configurado mbstring de php para trabajar con utf-8 ¿o no? Creo que no me dejo nada Salu2 El mar., 27 oct. 2020 a las 18:05, datil400 (<[email protected]>) escribió: > Hola Alex, > > no entiendo muy bien tu pregunta. > > isql lo estamos utilizando sólo como herramienta para verificar conexiones > y resultados devueltos para compararlos con lo obtenido en PHP. > > Después de muchas horas buscando y probando (llevamos dos días dos > personas) no damos con la tecla. Hemos revisado lo siguiente: > > 1. Todos los archivos .php están creadas con la página de códigos utf-8 > (sin BOM) > 2. Se ha incluido en la cabecera del html <meta charset="utf-8" /> > 3. No podemos tocar la configuración del servidor Apache porque hay más > webs involucradas. Creemos que está configurado para utf-8 > 4. La conexión ODBC desde Linux está configurada y funciona: con isql y > odbc_connect de PHP > 5. En la configuración de la conexión ODBC hemos incluido CCSID = 1208 > 6. En la extracción de datos desde PHP utilizamos la función utf8_decode(). > 7. El trabajo abre conexión con el IBM i y arranca un trabajo QZADSSINIT > con CCSID 1145 > > En las pruebas con isql siempre hemos conseguido obtener las eñes y > vocales acentuadas correctamente. > > En el PHP, cuando extraemos un campo con una eñe o vocal acentuada y > incluimos en el html, salta un error 503 del servidor. > > Como curiosidad, si en el select hacemos un CAST (nombre_campo AS > VARCHAR(30) CCSID 1208) AS nombre, el PHP no falla y tampoco aparece el > error 503 de http, pero los caracteres eñes y vocales acentuadas no > aparecen con el símbolo correcto. > > En fin, que no tenemos mucha más experiencia en esto. No sabemos si > realmente el parámetro CCSID = 1208 de la conexión funciona. No sabemos qué > tipo de conversión se está haciendo. No sabemos cómo depurar PHP para > intentar atrapar el carácter o "lo que sea" que éste provocando el error > 503. > > Estamos en punto muerto. > > Saludos, > > Javier Mora > > El mar., 27 oct. 2020 a las 17:11, Alex Martínez (<[email protected]>) > escribió: > >> ¿y el archivo que acceder por isql está creado con CCSID 1145 ? >> >> El mar., 27 oct. 2020 a las 15:49, datil400 (<[email protected]>) >> escribió: >> >>> No es nuestro caso: QCCSID = 1145 >>> >>> Gracias >>> >>> El mar., 27 oct. 2020 a las 12:50, Alex Martínez (<[email protected]>) >>> escribió: >>> >>>> Si tienes el valor de sistemas QCCSID con 65535 tienes un problema ¿es >>>> vuestro caso? >>>> >>>> >>>> El mar., 27 oct. 2020 a las 11:00, datil400 (<[email protected]>) >>>> escribió: >>>> >>>>> Hola Alex, >>>>> >>>>> tenemos configuradas dos conexiones: una con SSL y la otra SIN SSL >>>>> (por descartar problemas de puertos, certificados, etc.). Estamos casi >>>>> seguros que la conexión ODBC está bien configurada. Tomo nota para ver >>>>> también logs de http y las opcione de debug. >>>>> >>>>> Buscando y haciendo pruebas, hemos encontrado que puede estar >>>>> relacionado con el CCSID. Si en la consulta SELECT hacemos un CAST con >>>>> CCSID(1208) ya no falla la conexión, pero aparecen todas las eñes y >>>>> acentos >>>>> con símbolos raros. Sin embargo, la misma consulta SELECT en isql (CON/SIN >>>>> el CCSID) devuelve los resultados correctamente. >>>>> >>>>> Hemos comprobado también que el meta charset del html sea UTF-8, pero >>>>> no conseguimos recuperar correctamente las vocales acentuadas o las eñes. >>>>> >>>>> ¿Qué se nos escapa? ¿Es un tema de servidor Apache? ¿Es un tema de >>>>> PHP? ¿Será el HTML? >>>>> >>>>> Seguimos buscando. >>>>> >>>>> Gracias por tu ayuda Alex. >>>>> >>>>> Javier Mora >>>>> >>>>> El mar., 27 oct. 2020 a las 10:36, Alex Martínez (<[email protected]>) >>>>> escribió: >>>>> >>>>>> >>>>>> Hola >>>>>> >>>>>> Asegurate que en la pruebas con isql se utiliza SSL >>>>>> >>>>>> En el servidor revisad las anotaciones del los trabajo QZDASOINIT >>>>>> >>>>>> Y en el servidor HTTP ¿no tienes ninguna anotación en el logs? >>>>>> >>>>>> y habilita las opciones de debug de php.ini >>>>>> >>>>>> El mar., 27 oct. 2020 a las 9:07, datil400 (<[email protected]>) >>>>>> escribió: >>>>>> >>>>>>> Hola a tod@s, >>>>>>> >>>>>>> estamos desarrollando un aplicativo en PHP que extrae información >>>>>>> del IBM i. Se ha desarrollado desde un servidor Windows y funciona >>>>>>> correctamente, pero cuando lo trasladamos a Linux empiezan los >>>>>>> problemas. >>>>>>> >>>>>>> En Linux tenemos instalado tanto el driver como la conexión ODBC >>>>>>> necesaria, así como los certificados para SSL. Sabemos que está todo >>>>>>> bien >>>>>>> configurado porque cuando abrimos una conexión con 'isql' y realizamos >>>>>>> una >>>>>>> petición SQL obtenemos el resultado esperado. >>>>>>> >>>>>>> La conexión en PHP la realizamos con la siguiente función: >>>>>>> >>>>>>> function conexionAS400() >>>>>>> { >>>>>>> global $dsn_as400; >>>>>>> global $username_as400; >>>>>>> global $password_as400; >>>>>>> $as400 = odbc_connect($dsn_as400, $username_as400, $password_as400, >>>>>>> SQL_CUR_USE_ODBC); >>>>>>> return $as400; >>>>>>> } >>>>>>> >>>>>>> donde $dsn_as400 contiene el nombre de la conexión ODBC. >>>>>>> >>>>>>> El resultado es un error 503 del servidor HTTP, pero no sabemos cómo >>>>>>> averiguar el error que está generando el intento de conexión. >>>>>>> >>>>>>> En el IBM i comprobamos que se abre una conexión en el puerto 9471, >>>>>>> pero hasta ahí llegamos. >>>>>>> >>>>>>> ¿Alguna sugerencia o idea que nos ayude a descubrir qué pasa? >>>>>>> >>>>>>> Gracias a todos por vuestros comentarios. >>>>>>> >>>>>>> Javier Mora >>>>>>> ____________________________________________________ >>>>>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>>>>>> Forum.Help400 © Publicaciones Help400, S.L. >>>>>> >>>>>> ____________________________________________________ >>>>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>>>>> Forum.Help400 © Publicaciones Help400, S.L. >>>>> >>>>> ____________________________________________________ >>>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>>>> Forum.Help400 © Publicaciones Help400, S.L. >>>> >>>> ____________________________________________________ >>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>>> Forum.Help400 © Publicaciones Help400, S.L. >>> >>> ____________________________________________________ >>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>> Forum.Help400 © Publicaciones Help400, S.L. >> >> ____________________________________________________ >> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >> Forum.Help400 © Publicaciones Help400, S.L. > > ____________________________________________________ > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________ �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L.
