[英]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.