Cita:
Iniciado por david_dra 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 ... 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 ... 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 ¿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,