2009-08-18 43 views
3

我试图让一个网站验证为W3C Markup Validator上的HTML5。当我使用“通过URI验证”选项时,它会产生大量错误,但是当我将HTML复制并粘贴到“通过直接输入验证”时,它完全验证。当我在验证器返回的两个源文件上运行diff时,唯一的区别是Rails真实性令牌(随机字符串Rails用于验证表单 - 这是预期的)。URI不验证在W3C标记验证器,相同的直接输入是否

我注意到在这两种情况下,我都会得到一个“在文档级别声明的无字符编码”的警告,这是我在其他网站上看到的,但总是假定是HTML5验证程序中的错误,因为我有适当的meta标签:

<meta charset="UTF-8"> 

大多数错误是沿着以下线的东西:在属性名

  • 报价“的原因是:缺少的地方早期匹配报价
  • 错误值对于元素标签上的属性:ID不能是空字符串。
  • 此时元素标签上不允许使用“密码”属性。

它的行为像是有一个不匹配的引用,但我找不到任何错误,并且再次,完全相同的直接输入验证。

任何线索这里发生了什么?谢谢!

+0

什么'内容Type'正在由服务器发送?它是否包含“charset”,如果是,是UTF-8吗? – Nate 2009-08-18 02:13:53

+0

我们可以得到一个截图吗? – KdgDev 2009-08-18 02:35:52

+0

我对HTTP头文件不熟悉,但我只是使用Live HTTP Headers Firefox加载项进行检查,并没有看到任何内容类型参数。这是否会导致问题?它不应该回落到文档中的标题吗? – 2009-08-18 02:39:06

回答

0
<meta charset="UTF-8"> 

尝试使用这个:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
+0

我已经试过了。它确实会导致“在文档级别声明的无字符编码”警告消失,但否则不会解决任何问题。 – 2009-08-18 02:25:14

+0

虽然我同意你的建议,但将它放入验证器会导致以下错误:对于XHTML元素元属性http-equiv,值为Content-Type。 – CRice 2012-01-04 07:32:43

0

尝试<meta charset="UTF-8" />包括关闭斜线