首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用在W3C验证器中有效的PHP将header设置为UTF8

如何使用在W3C验证器中有效的PHP将header设置为UTF8
EN

Stack Overflow用户
提问于 2010-11-26 00:50:26
回答 7查看 1.1M关注 0票数 333

我有几个PHP页面,使用以下代码将各种内容回显到HTML页面中。

代码语言:javascript
复制
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />

但是,当我使用W3C validator进行验证时,它会出现:

HTTP头中指定的字符编码(iso-8859-1)与元素中的值(utf-8)不同。

我是PHP的新手,我想知道我是否可以并且应该更改PHP文件的头文件以匹配HTML文件。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-11-26 00:52:19

使用header修改HTTP头:

代码语言:javascript
复制
header('Content-Type: text/html; charset=utf-8');

请注意,在将任何输出发送到客户端之前调用此函数。否则,标头也已发送,您显然不能再更改它。您可以使用headers_sent检查这一点。有关详细信息,请参阅manual page of header

票数 927
EN

Stack Overflow用户

发布于 2010-11-26 00:53:52

首先,确保PHP文件本身是UTF-8编码的。

某些浏览器忽略了meta标签。如果你只使用ASCII字符,那也没什么关系。

http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

代码语言:javascript
复制
header('Content-Type: text/html; charset=utf-8');
票数 34
EN

Stack Overflow用户

发布于 2010-11-26 00:54:17

这是因为您的web服务器发送的HTTP标头与您定义的HTTP标头不匹配。有关如何使服务器发送正确标头的说明,请参阅this page

否则,您也可以使用PHP修改头文件,但这必须在使用以下代码输出任何文本之前完成:

代码语言:javascript
复制
header('Content-Type: text/html; charset=utf-8');

关于如何使用PHP发送头部的更多信息可以在the documentation for the header function中找到。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4279282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档