BOM: 바이트 순서 표시 UTF-8 BOM은 UTF-8 서명이라고도 하며 실제로는 UTF-8입니다. BOM은 UFT-8에 영향을 주지 않으며 UTF-16을 지원합니다. , UTF-32에 추가된 BOM, BOM 서명은 편집자의 식별을 용이하게 하기 위해 현재 파일이 어떤 인코딩을 사용하는지 편집기에 알려주는 것을 의미합니다. 그러나 BOM은 편집기에 표시되지 않지만 다른 하나와 마찬가지로 출력을 생성합니다. PHP 파일을 수정한 후 빈 줄: 로그인 또는 로그아웃할 수 없습니다. * 페이지 상단에 빈 줄이 나타납니다. * 페이지 상단에 오류 경고가 나타납니다. 기타 비정상적인 상황. 아마도 편집자 문제일 겁니다.
이 프로그램은 UTF-8 인코딩을 사용합니다. 이제 거의 모든 텍스트 편집 소프트웨어가 UTF-를 표시하고 편집할 수 있습니다. 8개의 인코딩된 파일. 그러나 불행하게도 그들 중 많은 사람들이 좋은 성과를 내지 못하고 있습니다. UTF-로 파일을 저장할 때 WINDOWS와 함께 제공되는 메모장과 같은 소프트웨어 8로 인코딩된 파일에서는 보이지 않는 문자 3개(0xEF 0xBB 0xBF 또는 BOM)가 파일 시작 부분에 삽입됩니다. 숨겨진 문자의 문자열입니다 , 메모장과 같은 편집자가 이 파일이 UTF-8로 인코딩되었는지 여부를 식별하는 데 사용됩니다. > > 하지만 PHP의 경우 BOM은 큰 문제입니다. PHP는 BOM을 무시하지 않습니다 이므로 이러한 파일을 읽거나 포함하거나 참조할 때 BOM은 파일 시작 텍스트의 일부로 사용됩니다. 임베디드 언어의 특성에 따라 이 문자열은 직접 실행(표시)됩니다. 결과적으로 페이지가 상단 패딩 0으로 설정하면 HTML 시작 부분에 이 3개의 문자가 있기 때문에 전체 웹 페이지가 브라우저 상단에 고정되는 것을 허용하지 않습니다! 가장 큰 문제는 이것이 아니다. COOKIE 전송 메커니즘의 제한 사항에 따라 파일 시작 부분에 이미 BOM이 있는 파일의 경우 COOKIE를 보낼 수 없으므로(COOKIE가 전송되기 전에 PHP가 이미 파일 헤더를 보냈기 때문에) 로그인 및 로그아웃 기능이 유효하지 않습니다. 모든 것은 COOKIE와 SE에 의존합니다. SSION으로 구현된 모든 기능은 유효하지 않습니다.따라서 텍스트 파일을 편집하고 변경할 때는 반드시 BOM을 추가하지 않는 편집기를 사용하세요. Linux의 편집자에게는 이 문제가 발생하지 않습니다. WINDOWS에서는 메모장과 같은 편집기를 사용하지 마십시오. 권장되는 편집기는 다음과 같습니다:
Editplus 버전 2.12 이상; UltraEdit('BOM 추가' 관련 옵션을 취소해야 함),
Dreamweaver('BOM 추가' 관련 옵션을 취소해야 함) 기다리다. BOM이 추가된 파일의 경우, 취소를 원하시면 위 에디터를 이용하여 한번 저장하시면 됩니다. (에디트플러스는 먼저 gb로 저장한 후 UTF-8로 저장해야 합니다.) , 다음은 프로그램 솔루션입니다:[PHP] 코드