2012-02-29 51 views
0

所以我有這個腳本讀取xml,修改選定的節點值並保存它。 xml文件有<?xml version="1.0" encoding="ISO-8859-15"?>,並且不能更改。編碼XML和PHP(DOM) - ISO 8859-15(重音字符)

這些節點值可能有重音字符(斯堪的納維亞人ä,ö,å)。

如果保存修改過的節點值(如果它們具有這些重音字符),問題就出現了。如果他們有它們,它將刷新xml上的所有現有數據,只保存<?xml version="1.0"?>

我怎樣才能得到它保存它沒有這樣做,並在同一時間讀取它沒有字符像「ÃÂ-」一樣搞砸了?

回答

0

引用the manual:「DOM擴展使用UTF-8編碼。使用utf8_encode()和utf8_decode()來處理ISO-8859-1編碼中的文本或其他編碼中的Iconv。「

作爲解決方法,您可能還考慮用數字引用替換所有出現的非ASCII字符,像「ä」通過&#xe4;。這將使數據「編碼安全」。

+0

Ty!我怎麼沒有找到_decode()...我使用了encode(),但後來發現有問題...我會試試這個! – Heiska 2012-02-29 08:11:43