加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML声明与PHP不一致

发布时间:2020-12-16 23:29:03 所属栏目:百科 来源:网络整理
导读:我正在使用 PHP根据存储在MySQL数据库中的值输出自定义XML.我在条件开始时有以下内容: echo '?xml version="1.0" encoding="UTF-8"?'; (我也尝试过这种变化: echo "?xml version='1.0' encoding='UTF-8'?"; 无济于事.) 但是,这始终输出(在每个浏览器中,甚
我正在使用 PHP根据存储在MySQL数据库中的值输出自定义XML.我在条件开始时有以下内容:

echo '<?xml version="1.0" encoding="UTF-8"?>';

(我也尝试过这种变化:

echo "<?xml version='1.0' encoding='UTF-8'?>";

无济于事.)

但是,这始终输出(在每个浏览器中,甚至在从wget下载的文件中):

<?xml version=1.0 encoding=UTF-8 ?>

沿着该行的某处,版本号和编码周围的单引号被删除.我哪里出错了,我该怎么做才能解决这个问题?我从我的解析器中得到错误,我相信这是因为这个声明不遵循围绕这些值使用单引号或双引号的XML标准.

解决方法

我想这是因为你的文档的内容类型已经设置为text / html(默认情况下是php).

对此的解决方案是将其设置为标题而不是回显它.

例如:

header ("Content-Type:text/xml");

设置字符集:

header('Content-Type: text/xml; charset=utf-8');

并确保在输出(回显)其他任何内容之前设置此项.

希望有帮助:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读