如何转义shell参数的特殊字符

时间:2013-10-21 19:27:16

标签: php shell shell-exec

我正在尝试通过php中的system()发送一个字符串作为shell参数。

一切正常,直到我发送一个包含特殊字符的字符串,例如“Œ”。所以,当我发送这个字符串“ŒDucks”时,shell就会收到“Ducks”

我已经尝试转义它添加“/”,“\”,简单引号但不重要,我得到相同的结果

这是我的代码:

system('/usr/bin/perl /var/prof/info.pl'.' '.EscapeShellArg("ŒDucks") > /dev/null &');

感谢您的时间:)

1 个答案:

答案 0 :(得分:1)

尝试:setlocale(LC_CTYPE, "en_US.UTF-8");或任何奇怪的语言环境来自。