我正在處理大量主要編碼爲utf-8的HTML文件。有許多重音字符在法語中都很豐富。我一直在將它們轉換爲HTML實體,但我注意到,即使在IE5.5中(根據IE測試程序),未轉換的重音字符也能正常顯示。是否所有重音字符都使用html實體?
我應該關心字符顯示並將它們全部轉換爲HTML實體以保證安全?
我正在處理大量主要編碼爲utf-8的HTML文件。有許多重音字符在法語中都很豐富。我一直在將它們轉換爲HTML實體,但我注意到,即使在IE5.5中(根據IE測試程序),未轉換的重音字符也能正常顯示。是否所有重音字符都使用html實體?
我應該關心字符顯示並將它們全部轉換爲HTML實體以保證安全?
如果文件是UTF-8編碼,您應該設置Content-Type
頭是text/html; charset=UTF-8
並在頁面上的等效meta標籤:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
這使瀏覽器的所有信息顯示UTF- 8個字符正確。不需要編碼重音字符。
您需要記住的是法語是UTF-8家族以及葡萄牙語,西班牙語等的一部分,因此它們將正確顯示UTF-8標籤並提供瀏覽器也使用UTF- 8爲頁面。
問題是,當一個人使用瀏覽器強制另一個字符集來到頁面,這將打破未編碼的字符。在巴西,這種情況發生了一些,許多瀏覽器未設置爲自動檢測字符集,並且設置爲ISO-8859-1,這在這裏很常見。
因此,儘可能對所有「特殊」字符進行編碼,以實現最普遍的訪問。
我希望有幫助!
通常沒有理由對重音字母等字符使用實體。使用它們是有效的,但往往會混淆源代碼,因此可能會導致錯誤。
但是,在某些情況下,實體是必需的。原因與瀏覽器無關,但與創作方面無關。特別是,如果您需要編輯使用編輯器或編寫程序的文件不能很好地處理重音字母,您可能會發現有用的實體。如果數據必須通過某些具有類似問題的軟件,則同樣適用。而且在某些情況下,您需要在無法控制HTTP標頭的環境中工作,並且標頭指定的編碼不允許您直接輸入所有字符。
錯誤的字符集那裏。 – tchrist 2012-03-06 16:10:51
@tchrist - 謝謝。 – Oded 2012-03-06 16:12:10
我一直認爲這個meta標籤本身是相當無用的。爲了讓瀏覽器讀取標籤,它必須通過其他方法知道或猜測字符集,並且至少可以「足夠接近」。 – 2015-11-12 13:58:00