使用命令
$ret = shell_exec($command);
返回包含非 ascii 字符 (papír) 的字符串时结果$ret
为 null ,但在返回没有非 ascii 字符的字符串时有效$command
$command
使用 exec 或 system 时也会发生同样的情况
正如$command
我所尝试的
'LANG=en_US.utf-8; python myapp.py '.escapeshellarg($in);
'python myapp.py '.escapeshellarg($in);
结果显然取决于 $in,但它在$in
包含非 ascii 字符并且脚本仅返回 ascii 字符时有效,所以我认为问题在于输出不是输入