假设我们在/Project/sh/下有如下一个脚本,文件名:demo.sh
echo "is Script"
echo "这是脚本"
echo "end"
echo "结束"
我们直接在linux下运行这个脚本
/Project/sh/demo.sh
输出的结果将会是
is Script
这是脚本
end
结束
假设我们有如下php脚本,文件名:demo.php
exec("/Project/sh/demo.sh",$return);
for($i=0;$i
echo "
".$return[$i]."
";
}
?>
直接载linux下执行php脚本
php ./demo.php
输出的结果将会是
is Script
这是脚本
end
结束
我们通过web去访问http://localhost/demo.php,输出的结果如下:
is Script
??
end
??
解决方法如下,直接在我们PHP调用的sh脚本中的首行添加:
export LANG="zh_CN.UTF-8"
echo "is Script"
echo "这是脚本"
echo "end"
echo "结束"
添加之后我们再去web访问,问题应该是已经解决了的,如还是没有解决,那可能是你的浏览器页面编码没有设为UTF-8或则是php编码还有html编码的设置不正确。所有的设置都是统一的情况下web访问才是显示正常的!谨记编码设置统一