2009-08-18 45 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" />包括關閉斜線