PHP shell_exec()函数,用于在控制台和浏览器中的印地语文本文件上打印运行wc命令的不同输出

PHP shell_exec()函数,用于在控制台和浏览器中的印地语文本文件上打印运行wc命令的不同输出,php,Php,我有一个包含印度语/印地语文本的文本文件 我编写了一个简单的php代码,使用shell_exec()以字符串/流的形式获取wc命令的输出。 我的wc.php代码如下: <?php $filename = '/tmp/1371272031.txt'; //above file contains hindi text $cmd = 'wc ' . $filename; $wcoutput = shell_exec($cmd); echo $wcoutput; ?> 然后我得到了输出,比

我有一个包含印度语/印地语文本的文本文件 我编写了一个简单的php代码,使用shell_exec()以字符串/流的形式获取wc命令的输出。 我的wc.php代码如下:

<?php
$filename = '/tmp/1371272031.txt';
//above file contains hindi text
$cmd = 'wc ' . $filename;
$wcoutput = shell_exec($cmd);
echo $wcoutput;
?>
然后我得到了输出,比如在终端“wc/tmp/1371272031.txt”中运行wc命令

这是什么

 5  9 74 /tmp/1371272031.txt
但当我从浏览器运行此代码时 它的输出类似于

5  0 74 /tmp/1371272031.txt
它在浏览器中提供不同的输出。
请解释并帮助我解决这个问题。

在执行
shell\u exec()
之前,请尝试在PHP脚本中设置语言环境。像这样的


putenv(“LANG=C.UTF-8”);


在Linux上为我工作。

控制台用户和运行web服务器的用户之间可能有不同的语言/编码设置。是的,我看到文本文件数据是UTF-8格式,而不是ACSII格式。但是我不知道为什么当我从控制台运行php代码时,它给出了正确的输出,但在web浏览器上它给出了不同的输出。我的终端和浏览器的字符编码都是UTF-8。
5  0 74 /tmp/1371272031.txt