Php 如何创建具有特殊字符的XML文件

Php 如何创建具有特殊字符的XML文件,php,Php,如何创建一个使用特殊字符(如À、Æ、È)的XML文件 使用SimpleXML,它会创建以下错误 Warning: SimpleXMLElement::__construct(): Entity: line 24: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xE5 0x6C 0x3A 0x20 in C:\xampp\htdocs\protech\admin\xml and rss\xml_creat

如何创建一个使用特殊字符(如À、Æ、È)的XML文件

使用SimpleXML,它会创建以下错误

Warning: SimpleXMLElement::__construct(): Entity: line 24: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xE5 0x6C 0x3A 0x20 in C:\xampp\htdocs\protech\admin\xml and rss\xml_create2.php on line 84
试试这个

<?xml version='1.0' encoding='UTF-8'?>
utf8_encode($variable)
试试这个

<?xml version='1.0' encoding='UTF-8'?>
utf8_encode($variable)
最有可能的是,utf8_编码应该足以解决您的问题。它将创建一个UTF-8编码的字符串,正如函数名所示。因此,在创建元素时,请使用

new SimpleXMLElement(utf8_encode($xml));
最有可能的是,utf8_编码应该足以解决您的问题。它将创建一个UTF-8编码的字符串,正如函数名所示。因此,在创建元素时,请使用

new SimpleXMLElement(utf8_encode($xml));
您可以使用DOMDocument创建xml文档,并添加元素、文本和所需的任何内容

请参阅以获取参考信息

您可以使用DOMDocument创建xml文档并添加元素、文本和所需的任何内容


请参阅以获取参考

您是否可以向我们显示代码的第24行?您是否可以向我们显示代码的第24行?请注意,utf8_encode不会自动创建UTF-8编码字符串,正如名称所示。它只是将ISO-8859-1转换为UTF-8,仅此而已。如果您的输入不是ISO-8859-1,它将无法正常工作。一个更好的问题是:为什么输入的UTF-8一开始就没有编码;我不应该回答php问题,我真的不太了解它。您关于转换为UTF-8的声明当然是正确的。我还同意应该解决核心问题,即非UTF-8编码——然而,作为XML人,我还想说,通常您无法避免错误的格式或编码,但您必须处理它。然而,在这种情况下,它是不清楚的,因为OP没有提供足够的信息。utf8_编码解决了我的问题,这就是为什么我建议。如果有其他方法,您可以建议我们。请注意,utf8_encode不会自动创建UTF-8编码字符串,正如名称所示。它只是将ISO-8859-1转换为UTF-8,仅此而已。如果您的输入不是ISO-8859-1,它将无法正常工作。一个更好的问题是:为什么输入的UTF-8一开始就没有编码;我不应该回答php问题,我真的不太了解它。您关于转换为UTF-8的声明当然是正确的。我还同意应该解决核心问题,即非UTF-8编码——然而,作为XML人,我还想说,通常您无法避免错误的格式或编码,但您必须处理它。然而,在这种情况下,它是不清楚的,因为OP没有提供足够的信息。utf8_编码解决了我的问题,这就是为什么我建议。如果有其他方法,你可以建议我们。