0

shell_exec() を使用して文字列/ストリームで wc コマンドの出力を取得する単純な php コードを作成しました。私のwc.phpのコードは次のとおりです::

<?php
$filename = '/tmp/1371272031.txt';
//above file contains hindi text
$cmd = 'wc ' . $filename;
$wcoutput = shell_exec($cmd);
echo $wcoutput;
?>

ファイル「/tmp/1371272031.txt」には、ヒンディー語のテキストが含まれています。

コマンドを使用して端末からこのコードを実行すると

php wc.php

次に、ターミナル「wc /tmp/1371272031.txt」でwcコマンドを実行するような出力を取得します

出力はこれです::

 5  9 74 /tmp/1371272031.txt

しかし、http://dashboard2.iiit.ac.in/abc/wc.phpのようなブラウザからこのコードを実行すると、次のよう な出力が得られます

5  0 74 /tmp/1371272031.txt

ブラウザでは出力が異なります。説明して、この問題から私を助けてください。

4

1 に答える 1

0

を実行する前に、PHP スクリプトでロケールを設定してみてくださいshell_exec()。このようなもの。

putenv("LANG=C.UTF-8");

Linuxで私のために働いた。

于 2016-09-26T14:25:38.157 に答える