2014-12-19 2 views
0


utf-8로 인코딩 된 PHP 파일에 심각한 문제가 있습니다. PHP는 session_start의 "headers already sent"나 브라우저의 예기치 않은 뷰 (맨 위에 큰 공백)와 같은 많은 문제를 일으키는 맨 위에있는 BOM을 반환합니다.
로컬 테스트 서버 (Apache, XAMPP)에는 문제가 없지만 실제 서버 (IIS, FastCGI)에서는이 문제가 발생합니다.
인코딩을 "BOM없이 UTF-8"로 변경하여 문제를 해결할 수 있음을 알고 있지만 많은 파일을 처리하는 것은 어려운 작업입니다.
또한이 문제를 만드는 로컬 서버와 실제 서버의 차이점을 알고 싶습니다. 문제는 무엇으로부터 유래 되었습니까? 그리고 이것을 해결할 수있는 방법이 있습니까?
감사합니다.PHP가 응답의 맨 위에 BOM 문자를 보냅니다.

+0

해결 방법은 BOM을 제거하는 것입니다. 그것은 끔찍한 특징입니다. 종종 인코딩이 무시되는 FTP를 통해 텍스트 파일로 업로드 될 때 문제가 발생할 수 있습니다. –

+0

고마워, 근데 근본적으로 해결할 방법을 찾고 싶다. 그리고이 방법은 나의 다음 선택입니다. – Ahmad

+0

정말 BOM을 제거해야합니다. 파일 크기를 늘리고 호환성을 줄여주는 기능입니다 [UTF-8 파일에는 완전히 필요하지 않습니다] (https://stackoverflow.com/questions/2223882/whats-different-between-utf-8-and-utf-8 -with-bom). –

답변

0

문제가 발생한 곳을 모르지만 메모장을 사용하고 매크로를 기록하는 것이 좋습니다. 한 번에 모든 PHP 파일을 열거 나 (폴더 중 일부를 폴더별로) 매크로를 기록하고 작업을 수행하십시오.

나는 비슷한 문제를 해결했습니다.

또한 ftp 클라이언트 (사용하는 경우)를 확인하고 파일 형식을 ASCII으로 변환하지 않았는지 확인하십시오.

다음은 Filezilla FTP 클라이언트의 이미지 예제입니다. 설정이 Auto인지 확인하십시오.

enter image description here

+0

고마워요. 근본적으로 해결할 방법을 찾는 것을 선호합니다. 그리고이 방법은 나의 다음 선택입니다. – Ahmad

관련 문제