2012-02-29 52 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