得到??通过php代码调用jar文件时的字符

时间:2014-05-19 08:34:20

标签: java php jar character-encoding

我在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>

我应该采取哪些措施来获得正确编码的字符?

谢谢。

1 个答案:

答案 0 :(得分:1)

以下2个环境适合我。你也可以尝试一下:

export LANG=en_US.UTF-8
export LOCALE=UTF-8