我使用 PHP 库生成 XML,如下所示:
$dom = new DOMDocument("1.0","utf-8");
执行上述操作会生成一个页面,该页面在输出顶部显示一条消息。
此页面包含以下错误:
第 16 行第 274505 列错误:PCDATA 无效 Char 值 27
下面是出现第一个错误之前的页面呈现。
我尝试使用 Tidy 库进行纠正。使用 iconv 来获取 UTF-8 中的中文字符。
该网站建议使用一个有用的函数来消除该错误。http://www.phpwact.org/php/i18n/charsets#common_problem_areas_with_utf-8 http://www.phpwact.org/php/i18n/charsets#common_problem_areas_with_utf-8
当您将 utf-8 编码的字符串放入 XML 文档中时,您应该记住 XML 文档中并非接受所有 utf-8 有效字符http://www.w3.org/TR/REC-xml/#charsets http://www.w3.org/TR/REC-xml/#charsets
所以你应该去掉不需要的字符,否则你会遇到像上面这样的 XML 致命解析错误
function utf8_for_xml($string)
{
return preg_replace ('/[^\x{0009}\x{000a}\x{000d}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}]+/u', ' ', $string);
}
希望能节省别人一些时间..
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)