2011-12-20 88 views
2

我想知道,最佳實踐是什麼。將所有utf-8特殊字符轉換爲HTML實體或僅轉義&,<和>。將特殊字符轉換爲HTML實體,爲什麼或爲什麼不?

我正在處理幾個PHP項目。谷歌顯示一些錯誤的UTF-8結果爲我的網站的隨機部分。

我想這是因爲一個或兩個以下兩個原因:

  • 我的託管服務提供商並沒有自動發送編碼頭(我已經解決了這個問題)。或者在描述中文本沒有完全轉義的事實。

除此之外,我注意到大多數市長公司網站不發送'<?xml version'行,他們不逃避他們的角色。

轉義所有角色是否有缺點(或者說是上升)?

回答

2

轉義所有字符是否有缺點(或者說是上升)?

轉換任何字符超過<>&"'(由htmlspecialchars()完成)是沒有必要現在。如果頁面的字符集已正確配置,使用原生UTF-8字符(或您選擇的任何字符集)是沒有問題的。將它們轉換爲實體沒有優勢。它們有時被用作字符集問題的誤導性解決方法,但這幾乎不是一個好主意。

+0

你說htmlentities,但是你鏈接到htmlspecialchars。但我明白你的觀點。那麼'<?xml'標題呢,有沒有關於那個的建議呢? – 2011-12-20 09:53:23

+0

@Paul固定,謝謝!重新設置XML標題,我不確定我是否明白你的意思,在什麼情況下你期望被髮送? – 2011-12-20 09:55:46

+0

html文檔的第一行,w3表示使用' <?xml version =「1.0」encoding =「UTF-8」?>'但市長網站不使用此行。 – 2011-12-20 09:58:04

相關問題