2014-01-18 4 views
0

파일에 BOM 문자를 찾을 수 없습니다 : http://www.mundo-satelital.com.ar/ 을하지만 시작에 이상한 문자를 해결할 수없는 것 파일의검증 내가보기»¿ <!의 DOCTYPE HTML>을 보여줍니다하지만이 사이트에 대한 유효성 검사를 통과 wan't

<?php header('Content-Type: text/html; charset=utf-8'); ?> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

그것은 내가이 무엇을 찾고 있어요 것 같다 내가 파이어 폭스의 콘솔에서 볼 수 있지만 W3 유효성 검사 서비스가 자동으로 전달되는 헤더가 Content-Type text/html; charset=utf-8 있음을 ISO-8859-1로 내 페이지를 감지하고 내 <head>는 포함 방황하는 BOM 문자, 분명히 심지어 하나의 PHP는 이것을 일으킬 수 있습니다, 그러나 나는 grep -rl $'\xEF\xBB\xBF' *.php 및 그 변종을 사용하여 .php, .html, .js 또는 .css 파일을 검색하여 범인이 될 수 있습니다. 긍정적 인 것을 드러내는 사람들을 모두 제거하는 것은 여전히 ​​존재하지만, 누구든지 아이디어가 있습니까?

+0

질문에 대한 질문입니다. Doctype이 다른 것보다 먼저 파일의 첫 번째 줄에 있으면 안됩니까? –

+1

@GertKommer doctype은 html 출력의 맨 처음 줄이어야합니다. 그게 여기에 해당됩니다. – Arjan

+0

유효성 검사중인 실제 문서입니까? 문제를 일으키는 작고 완전한 문서로 범위를 좁히고 게시 할 수 있습니까? (나는 방금 유효성 검사기에서 예제를 던져 보았는데, HTTP Content-Type이 UTF-8 이었음을 알 렸습니다 ...) –

답변

1

지정한 헤더, 메타 태그 및 파일이 저장되는 실제 형식은 완전히 다른 3 가지입니다. 그것들이 모두 같은지 확인하십시오. 또한, 지금 당신 doctype 전에 새로운 라인 숯불 (어쩌면 윈도우에 문자)가 있습니다. <?php header ... ?>\n<!DOCTYPE...

2

UTF-8이 아닌 BOM으로 저장하십시오. (또는 BOM이 없어도 에디터에서 호출되는 모든 것). 확실히 이것은 당신의 문제입니다.

0

실제로 문제가 표시되지 않습니다. 코드를 잘라내어 유효성 검사기에 붙여 넣으면 헤더가 없습니다. 혼자서 HTML5 doctype 및 utf-8을 설정하는 경우. 아무것도 변경되지 않습니다. 당신은 여전히 ​​44 개의 오류가있을 것입니다.