Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/02/2010, 12:33
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Problema salida estandar UNIX jar ejecutado desde PHP

Cita:
Iniciado por david_dra Ver Mensaje
HackmanC , a verdad es que ... me he quedado un poco igual con tu contestación ...
Realmente es bastante complicado de explicar.

Cita:
Iniciado por david_dra Ver Mensaje
... Lo que está claro es que es el java el que no está reconociendo la i con tilde puesto que es él el que saca los numeros ASCII. ...
No es que no los reconozca, tanto Java, como PHP y la consola están haciendo su trabajo correctamente. Mientras no comprendas porqué es que no salen igual vas a seguir pensando que es un error de los lenguajes o el sistema.

Cita:
Iniciado por david_dra Ver Mensaje
... Lo curioso y lo que sigo sin encontrarle explicación es que si el jar lo ejecuto desde consola con usuario root sí que saca el ASCII correcto de la i con tilde , en cambio si lo ejecuta el php no. ...
No creo que sea muy curioso o extraño, en tu caso, posiblemente estas usando Xterm, o la consola de Gnome, o cualquier otra consola, y normalmente en Linux todas las consolas vienen configuradas en UTF, igual que Java. Pero PHP no entiende UTF nativamente, así que antes de hacer cualquier cosa con los bytes en PHP, tienes que usar utf8_decode o algo parecido.

Y deja de pensar en letras ... son bytes (números que se relacionan con tablas o listas de letras, si piensas en la í en UTF es el número 1025 y si piensas en la í en ASCII es el número 183, utf8_decode convierte el número 1025 en 183, para que te funcione en ASCII).

Aclaración:
Los numeros me los acabo de inventar, y la conversión es mucho mas compleja.

Cita:
Iniciado por david_dra Ver Mensaje
¿Qué usuario es el que lanza el jar desde el php?¿El que está logado en la máquina por defecto? ¿Puede ser por eso?
Mientras no entiendas la diferencía entre UTF, ISO-88..., ASCII y las demás tablas, no vas a comprender que tu sistema está funcionando perfectamente y es así como debe ser.

Saludos,