-1
我而動PHP應用程序到另一臺服務器,我有字符解碼的一些問題:html_entity_decode工作不正常
舊的服務器(CentOS的使用Plesk面板):
echo htmlentities('ú'), ENT_QUOTES, 'UTF-8'); // Result ú
echo html_entity_decode('ú', ENT_QUOTES, 'UTF-8'); // Result ú <= expected
新服務器(Debian專用服務器,全新安裝):
echo htmlentities('ú'), ENT_QUOTES, 'UTF-8'); // Result ú
echo html_entity_decode('ú', ENT_QUOTES, 'UTF-8'); // Result ú <= not expected
echo html_entity_decode('ú', ENT_QUOTES, 'ISO-8859-1'); // Result ú <= expected
爲什麼會發生這種情況?也許服務器配置問題?
你與你的HTML輸出發出錯誤的字符集符。 – mario 2014-10-08 11:48:25
是的,但我想知道爲什麼相同的功能在一臺服務器上按預期工作,而不是在新服務器上。 – 2014-10-08 12:07:53
你爲什麼責怪這個功能? **您的** HTML輸出在任何地方都不包含charset =或encoding =屬性。如果您發送UTF-8文本但保留html頁面或http標題聲明Latin-1,那麼它們不會被錯誤地渲染。 – mario 2014-10-08 14:43:04