Php in Windows - 执行输出数组字符编码

Php in Windows - exec output array character encoding

我有一个简单的脚本可以执行如下操作:

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

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

有什么想法吗?

这也解决了我的问题,也有特殊字符

exec("x.bat > result.txt 2>&1");
$data = file_get_contents("result.txt");

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

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