2014-02-18 45 views
2

爲了簡短起見,我在ajax jquery調用中通過一些json接收HTML。 response.htmlJSON中的HTML,使用utf8_encode但殺死一些字符?

現在對於這個網站,file_get_contents()和一些過濾器後,我與utf8_encode()包裹它,使其能夠與JSON轉移,而不是做一些語法的突破JSON。我發現,我應該這樣做,這要歸功於Putting HTML in JSON

這一切都正常工作,直到我有丹麥語,瑞典語字符:OAA

這使得這些:öäå。我怎樣才能解決這個問題?有沒有另一種方法來轉義的HTML字符串?

我的響應頭是utf-8。

enter image description here

+0

你可能是utf8編碼,但你仍然需要告訴客戶端你實際上正在發送utf-8。否則,可以將其解釋爲客戶端瀏覽器正在使用的任何東西,例如, ISO8859。像你一樣得到'Ã'是客戶端使用不正確字符集的明顯症狀。 –

+0

請檢查我更新的問題 – Karem

+2

'uft-8'!='utf-8' ...閱讀困難的時刻? –

回答

1

utf8_encode()函數應該只用於ISO-8859-1的數據。

如果你已經有UTF-8編碼的數據,你會看到下面的轉換:

c3b6 c3a4 c3a5    (öäå) 

c383c2b6 c383c2a4 c383c2a5 (öäå) 

要麼你必須確保讀取的數據是ISO-8859-1或不適用utf8_encode()