Php在Windows - exec输出数组字符编码


Php in Windows - exec output array character encoding

我有一个简单的脚本,执行如下:

exec("x.bat", $array);

x.bat返回一些特殊的拉丁字符,如áéí " ñ等。它们在输出数组中是完全乱码的。我试过将页面字符集设置为Windows-1252,并在x.bat之前将"chcp 850"发送到cmd,但无论如何,它总是出现乱码。

任何想法?

用特殊字符

解决了这个问题
exec("x.bat > result.txt 2>&1");
$data = file_get_contents("result.txt");

+确保在PHP代码的开头添加头字符集:

header('Content-Type: text/html; charset=Windows-1252');