2013-11-02 224 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編碼保存了它們。物料清單消失了,'?'不再顯示。