2012-11-01 205 views
4

em-dash的正確編碼大概是—,但是當分號關閉時,它仍能正確顯示在我的瀏覽器中(chrome和firefox)。HTML編碼的特殊字符是否需要以分號結尾?

此外,我使用Litmus.com測試跨多個電子郵件客戶端的字符編碼。事實證明,除了gmail(IE,chrome和firefox)之外,幾乎所有人都顯示特殊字符時忽略了所需的分號。

所以我的問題:編碼的HTML特殊字符需要以分號結尾嗎?看起來gmail正在按規則播放,而其他人都忽略了所需的分號。

+0

當你問「required」時,你的意思是規定要求還是瀏覽器要求? – BoltClock

+0

@BoltClock我的意思是規範所要求的。 – kburns

回答

6

由於4.01以前的HTML是基於SGML的,因此它是poss能夠消除最終的;,參見w3centities

注意。在SGML中,可以消除最後的「;」在某些情況下在字符引用之後(例如,換行符或標籤前)。在其他情況下,它可能不會被消除(例如,在一個詞的中間)。我們強烈建議使用「;」在任何情況下都可以避免需要此字符的用戶代理出現問題。

但是,current HTML5 working draft指出字符引用需要以分號結尾。爲了準備HTML5的當前網站,我建議您使用分號結束引用。

+1

另外,在XHTML中,按照一般的XML規則,總是需要分號。 –

1

關於'可選'分號用例的討論已經有幾次了。我可以給你的最好建議是使用它。

如果規則是使用它會導致ALL瀏覽器工作,不使用它會導致MOST瀏覽器的工作,去與ALL

此外,W3C在這裏指出它(雖然我不能找到完整的規格):http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.3

4

瀏覽器儘自己所能來解釋你的意圖,並有些寬容。最好遵守規則,以確保各地正常工作。

0

是的,他們必須在最後有一個分號。然而,瀏覽器大部分時間都會原諒,並試圖解釋它。這裏是它可能會失敗的例子:

這& ampthat將返回this&ampthat - 故障

this&that將返回this&that - 工作