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.

Reply via email to