2013-11-02 1 views
0

나는 두 PHP 파일 내 웹 서버에서 실행 한PHP include 문이 '?'를 에코합니다.

a.php에 :

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

b.php :

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

C#의 HttpWebRequest에서 a.php에 POST 요청을 전송하면, 내가받은 응답은 다음과 같습니다.

A?B 

그러나, ? 문자없이

include('b.php'); 

내가 얻을 응답이를 제거한 후 인쇄 :

AB 

이유도 거기에 ?입니까? 어떻게 제거해야합니까? 감사!

+1

C# 태그가 여기에 약간 잘못 배치 된 것 같습니다. –

+0

@BSoD_ZA 그래 보인다. 죄송합니다, 태그가 너무 작습니다>< –

+0

제목에 '$'가 표시되는 이유는 무엇입니까?하지만 질문에 '?'이 표시됩니다. – George

답변

0

다시 더 신중하게 (deceze가 제안)이 시간을 a.php에와 b.php 모두를 재분석 후에는에

0xEF-0xBB-0xBF 

, 두 파일이 실제로 바이트 순서 마크를 포함 않았다고 밝혀 앞.

BOM은 메모장에 반영되지 않았으며 파일이 UTF-8로 인코딩 되었기 때문에 BOM이 거기에있는 것으로 나타났습니다.

이 문제를 해결하기 위해 파일을 메모장에 열어 ANSI 인코딩을 사용하여 저장했습니다. BOM이 사라지고 '?' 더 이상 보여주지 않았다.

관련 문제