0

PHP経由でシェル引数として文字列を送信しようとしていますsystem()

特にこの「Œ」のような特殊文字を含む文字列を送信するまで、すべて正常に機能します。したがって、この文字列「ŒDucks」を送信すると、シェルは「Ducks」を受信します。

「/」、「\」、単純な引用符を追加してエスケープしようとしましたが、問題ありません。同じ結果が得られます

これは私のコードです:

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

御時間ありがとうございます :)

4

1 に答える 1

1

試してみてください:setlocale(LC_CTYPE, "en_US.UTF-8");またはその奇妙さ:)が由来するロケール。

于 2013-10-21T19:32:20.687 に答える