我在PHP中开发一个使用exec函数调用jar文件的服务,这样:
$text = "string with accents á, ó, ú or العربية";
exec("java -jar jarfile.jar '$text'", $data);
当我在linux控制台中使用命令java -jar jarfile.jar "string with accents á, ó, ú or العربية"
测试jar文件时,它运行良好,jar文件,通过System.out.println,返回编码良好的文本,但是当由PHP执行时我重新 ?? 应该是重音字符或阿拉伯文字。
我已经尝试了mb_detect_encoding($data);
并且它说它的编码是ASCII,所以我已经执行$data = mb_convert_encoding($data, 'utf8', 'ASCII');
但仍然收到 ?? 字符。< / p>
我应该采取哪些措施来获得正确编码的字符?
谢谢。
答案 0 :(得分:1)
以下2个环境适合我。你也可以尝试一下:
export LANG=en_US.UTF-8
export LOCALE=UTF-8