PHP에서 문자 65279 에코의 미스터리 이해
AJAX 콜백 중에 텍스트가 경고에 올바르게 표시되는 수수께끼 같은 문제가 발생했음에도 불구하고 그러나 'if' 문에서 일치하지 못했습니다. 범인은 응답 텍스트 시작 부분에 숨겨진 문자였습니다. 흥미롭게도 이 문자의 문자 코드는 65279였습니다.
추가 조사에 따르면 서버 측 PHP 코드에서 유래한 이 문자는 응답 인코딩을 정의하기 위한 보이지 않는 UTF-8 제어 문자인 것으로 밝혀졌습니다. 그러나 질문이 생깁니다. 왜 이 문자가 의도치 않게 에코되었습니까?
PHP 코드를 자세히 조사한 결과 간단한 'echo' 문을 사용하여 응답을 출력했습니다. 그러나 PHP 파일을 저장하는 데 사용된 메모장이 파일에 BOM(바이트 순서 표시)을 미묘하게 추가한 것이 분명해졌습니다. 이 BOM은 EF BB BF의 3바이트로 구성되었으며, 그 목적은 파일의 인코딩이 빅엔디안 바이트 순서의 UTF-8임을 나타내는 것이었습니다.
PHP는 일반적으로 BOM을 문제 없이 처리하지만 문제가 발생할 수 있습니다. 하나의 PHP 파일이 다른 PHP 파일에 포함될 때 발생합니다. 이러한 경우 BOM으로 인해 문자열 앞에 문자 65279가 추가되어 비교 시 예기치 않은 동작이 발생할 수 있습니다.
다행히 이 문제를 피할 수 있는 방법이 있습니다.
이를 구현하여 솔루션을 사용하면 개발자는 PHP 응답에서 문자 65279가 나타나는 것을 방지하여 비교 및 기타 문자열 작업이 의도한 대로 작동하도록 할 수 있습니다.
위 내용은 내 PHP 응답에 문자 65279가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!