验证显示但在文件中找不到BOM字符

时间:2014-01-18 18:46:59

标签: php html w3c-validation

我不想通过此网站的验证: http://www.mundo-satelital.com.ar/ 但我似乎无法修复文件开头的奇怪字符。 W3验证服务自动将我的页面检测为iso-8859-1,尽管我可以在Firefox的控制台上看到传递的标题是Content-Type text/html; charset=utf-8而我的<head>包含

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

看起来我正在寻找的是一个流浪的BOM角色,显然即使是php中的一个也会导致这种情况,但是我一直在使用grep -rl $'\xEF\xBB\xBF' *.php及其变体搜索任何.php, .html,.js或.css文件可能是罪魁祸首,在消除了所有那些出现问题仍然存在的问题后,任何人都有任何想法?

3 个答案:

答案 0 :(得分:2)

尝试将它们保存为UTF-8非BOM。 (或无BOM,无论你在编辑器中调用它)。当然这是你的问题。

答案 1 :(得分:1)

指定的标题,元标记和保存文件的实际格式是三个完全不同的东西。确保它们都是一样的。此外,现在您在doctype之前有一个新行char(如果在Windows上可能是chars)。 <?php header ... ?>\n<!DOCTYPE...

答案 2 :(得分:0)

实际上我没有看到问题。当您将代码剪切并粘贴到验证器中时,它没有标题。如果您自己设置HTML5 doctype和utf-8。什么都不会改变。你仍然会有44个错误。