所以我的应用程序有一个表单,用户在其中输入文本,文本存储在XML文件中的CDATA标记中。我注意到从一些用户的计算机发送的输入可以很好地保存在XML中,但是从其他用户的计算机发送的输入会导致问题。我怀疑这与编码有关。
这是一个用户的输入。
这里是另一个:
当我这样做的时候:
$xml = simplexml_load_file($filename);
echo $xml->body;
两个例子中只有后者有效。有人能解释一下原因吗?
编辑:第一个有'encoding="us-ascii"'因为它产生了大量的错误'UTF-8'
第一个示例的编码被声明为"us-ascii",而它实际上在几个地方包含非ascii字符"。您应该使用UTF-8或过滤掉非ascii字符。