繁体   English   中英

带有utf-8的xml PHP标头

[英]PHP header for xml with utf-8

我正在使用header()函数将文件转换为XML标准。 问题是我使用<?php header("Content-type: text/xml; charset=utf-8") ; ?>它只是呈现<?xml version="1.0"?> ,没有enconding / charset。 我错误地使用它了吗?

header()函数只修改HTTP头。 您发布的代码设置了Content-Type标头,这对于告诉浏览器和其他客户端您正在服务的文件类型非常重要。

您正在讨论的<?xml version="1.0"?>行是文档本身的一部分,不受HTTP标头的影响。

您的标签表示您正在使用DOM来创建XML文档。 如果您将DomDocument构造函数更改为也传递charset,

$doc = new DomDocument('1.0', 'UTF-8');

它应该在XML文档中输出该字符集。

header只在结果中设置HTTP标头。 PHP不会对该值执行任何其他操作,因此您可以确保正确使用它。

如果您使用XML库生成XML(包括序言),请查看该库的文档。 如果你“手动”输出XML(o,你需要自己为序言添加必要的属性。

你也可以使用

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM