【发布时间】:2015-04-15 16:32:53
【问题描述】:
我有一个 xml 数据,它在 url 中作为字符串发送。
例如 url?data=string
这被发送到我无法控制的另一台服务器,他们使用 fputs,所以我不能简单地更改为 fwrite。我试图弄清楚如何使 fputs 工作,以便我可以给他们修复。我的测试环境使用的是php 5.6.7。
字符串中是字符 á (alt+0225)。
使用此代码,当我在 notepad++ 中查看文件时,字符仍然是 á。
$datafile = fopen("datafile.txt", "a");
foreach (getallheaders() as $name => $value){
$y = "$name: $value\n";
fwrite($datafile,$y);
}
fclose($datafile);
使用此代码,当使用 notepad++ 查看时,á 会变成其他内容。
$datafile_fputs = fopen("datafile_fputs.txt", "a");
foreach (getallheaders() as $name => $value) {
$y = "$name: $value\n";
fputs($datafilefputs,$y);
}
fclose($datafile_fputs);
我已经尝试过在 stackoverflow 上找到的这个,但字符仍然显示不正确。
$file = "datafile_fputs";
$datafile_fputs = fopen($file, "a");
foreach (getallheaders() as $name => $value) {
$y = "$name: $value\n";
$file = "\xEF\xBB\xBF".$file;
fputs($datafile_fputs,$y);
}
fclose($datafile_fputs);
有人知道为什么 fputs 行为不同以及如何解决它吗?
【问题讨论】: