编码XML&;PHP(DOM)-ISO8859-15(重音字符)


Encoding XML & PHP(DOM) - ISO 8859-15 (accented characters)

所以我有这个脚本,它读取xml,修改所选的节点值并保存它。xml文件具有<?xml version="1.0" encoding="ISO-8859-15"?>,并且不能更改。

这些节点值可能具有重音字符(斯堪的纳维亚字母ä,ö,å)。

如果修改后的节点值具有这些重音字符,则在保存时会出现问题。如果他们有它们,它会在xml上滑动所有现有的数据,只保存<?xml version="1.0"?>

我如何才能在不这样做的情况下保存它,同时阅读它,而不会让字符像"ƒ"一样一团糟?

引用手册:"DOM扩展使用UTF-8编码。使用utf8_encode()和utf8_decode()处理ISO-8859-1编码的文本,或使用Iconv进行其他编码。"

作为一种变通方法,您还可以考虑将所有出现的非ASCII字符替换为数字引用,如&#xe4;中的"ä"。这将使数据"编码安全"。