2013-11-02 178 views
0

我有我的Web服务器上运行两个PHP文件,PHP包含声明回声'?'

a.php只会:

<?php 
    echo 'A'; 
    include('b.php'); 
    echo 'B'; 
?> 

b.php:

<?php 
function foo(){ 
    return 0; 
} 

在从C#的HttpWebRequest发送POST请求a.php,我得到的回应是:

A?B 

但是,删除

include('b.php'); 

我得到的回应是没有?字符后打印:

AB 

为什么?即使在那里?我应该如何摆脱它?谢谢!

+1

我认为c#标签有点错位 –

+0

@BSoD_ZA似乎是这样!对不起,我的标签很差>< –

+0

为什么标题说你得到一个'$',但问题是你得到了'?'? – George

回答

0

再次重新分析都a.php只会和b.php(如deceze建议)更仔细的这段时间后,事实证明,这两个文件确实包含字节顺序标记,

0xEF-0xBB-0xBF 

面前。

BOMs没有反映在记事本中,事实证明他们在那里是因为这些文件是UTF-8编码的。

为了解决这个问题,我只是在记事本中打开了这些文件,并使用ANSI编码保存了它们。物料清单消失了,'?'不再显示。