hpi*_*que 1 php xml string encoding utf-8
我有一些在我的数据库中有效的字符串但是当我将它们包含在UTF-8 XML输出的属性中时,它们会给我以下错误:
XML解析错误:格式不正确
我目前的代码(简化):
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '<root attribute="' . htmlentities($string_from_hell) . '">';
Run Code Online (Sandbox Code Playgroud)
在将这些字符串包含在XML属性中之前,我应如何设置它们?
可能的值$string_from_hell:( 不知道它是否会正确显示)
尝试
htmlspecialchars($string_from_hell, ENT_QUOTES, "UTF-8")
Run Code Online (Sandbox Code Playgroud)
htmlentities不会这样做,因为它会创建HTML中无法识别的HTML实体,只能创建HTML.您还应该指定charset,因为默认值不是UTF-8,而是ISO-8859-1.
您还缺少"属性值周围的引号().
还有更好的方法来创建处理转义的XML文件.参见例如XMLWriter.
| 归档时间: |
|
| 查看次数: |
3523 次 |
| 最近记录: |