【发布时间】:2011-08-04 10:53:08
【问题描述】:
我正在尝试将一些内容写入 XML 文件,但我确实遇到了特殊字符的问题。
我要写的内容是通过$_GET提交给脚本的,所以我假设它被正确解码为UTF-8内容。
$write = $_GET['content'];
将被喂食:
file.php?content=s%F6per
在 PHP 中,我执行以下操作:
$xml = simplexml_load_file('file.xml');
$newentry = $xml -> addChild('element',$write);
$xml -> asXML($xml_filename);
打开的 XML 文件是 UTF-8 编码的。当我编写没有任何“问题字符”的内容时,asXML 将再次将文件保存为 UTF-8。一旦我插入特殊字符,它就会以 ANSI 编码保存,导致文件混乱,因为我将无法打开它(脚本会抱怨编码不正确)。
我错过了什么?阅读手册给我的印象是我应该做的一切都很好(即不要弄乱$_GET['content']),所以很遗憾我不知道。
非常感谢!
【问题讨论】: