2010-01-27 123 views
5

我想知道是否有任何方法來定義htmlentities()的默認編碼。我有一個很大的項目,使用htmlentities調用遍佈整個地方,並且想知道是否有一種簡單的方法可以使用簡單的init_set這樣簡單的方法將它從ISO-8859-1設置爲UTF-8作爲默認字符編碼。或者可能用一個單獨的namespace聲明。定義htmlentities的默認字符集()

做不到這一點,我也不會反對重命名並重寫htmlentities功能總是使用Unicode,但我不願任何東西作爲古怪的PECL apd安裝(對我來說)。

+1

爲什麼不使用htmlspecialchars? htmlentities轉換的遠遠超過了你需要的HTML,並且由於這種方式,爲什麼不使用htmlspecialchars和UTF-8作品,它轉換的字符都不會出現在多字節UTF-8字符的中間,這意味着嚴格來說,它只是假定ISO-8859-1並不重要。 – 2010-01-28 22:14:42

回答

8

由於手冊頁沒有提到有關更改默認字符集的任何信息,我不認爲有辦法做到這一點;我不記得曾經見過這些。

我不會用任何東西像APD或者 - 相反,我可能會:

  • 創建自己的功能,只要有正確的參數
  • 和替換每次調用ヶ輛由調用ヶ輛打電話到我的新功能(這大概可以使用腳本幾行自動完成)
0

@Pascal馬丁的解決方案是絕對正確的,你也可以使用utf8-encode噸o將ISO-8859-1轉換爲UTF-8。

utf8_decode將UTF-8轉換爲ISO-8859-1。

+0

問題不在於字符串所在的字符集,它是如何處理它的。 – amphetamachine 2010-01-27 06:09:39