Hola,
Cita:
Iniciado por david_dra HackmanC, eso es lo que quiero : comprenderlo, por eso estoy escribiendo en el foro, para ver si a alguien le ha pasado un caso parecido y encontró la solución porque yo ni la encuentro ni le veo la explicación.
He cambiado incluso el lenguaje del sistema unix en locales y sigue pasando lo mismo.
...
Bien, es que quería explicarlo para que pudieras solucionarlo por tu cuenta, ya que no mostraste parte del código, ni diste detalles específicos sobre tu aplicación, ni tu configuración. System.out.println es un PrintStream y usa la codificación que tengas configurada en la plataforma Unix, etc.
En resúmen ...
Si tienes configurada la plataforma para usar UTF entonces a PHP le va a llegar en UTF y puedes usar utf8_decode, desde mi punto de vista es lo mas aconsejable.
De otra forma tendrías que cambiar toda la configuración de tu sistema Unix para que use otra codificación, como ASCII a nivel de todo el sistema. Busca información acerca de LANG en la documentación de Unix que estas usando. Pero es dependiente del sistema que estas usando, en Linux Debian es 'dpkg-reconfigure locales' y se encarga de todo el trabajo.
Pero para probar los cambios temporalmente podrías usar 'export LANG=en_US.ASCII' en una sesion de consola. También podrías probar a cambiar la configuración del file encoding con una variable del sistema, export JAVA_OPTS=-Dfile.encoding=cp1252 o pasarselo directamente al ejecutar java -Dfile.encoding=cp1252.
El usuario con que se ejecuta PHP es el mismo usuario de Apache, pero no va a ejecutar ningún script de bash como .bash_profile, .bashrc, etc. La consola no tiene nada que ver cuando ejecutas PHP dentro de Apache para ejecutar un .JAR.
También puedes usar PHP directamente y crear clases Java dentro de PHP para usar getters y setter.
Sin mayor información no podría haber sido mas específico,
Espero haber sido de alguna ayuda,
Saludos.