php中header怎么设置编码
php中header设置编码的方法:1、打开相应的PHP文件;2、通过“header("content-type:text/html; charset=xxx");”语法设置编码即可。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php中header怎么设置编码?
header("content-type:text/html; charset=xxx");
这个函数header()的作用是把括号里面的信息发到http标头。
如果括号里面的内容为文中所说那样,那作用和<META>标签基本相同,大家对照第一个看发现字符都差不多的。但是不同的是如果有这段 函数,浏览器就会永远采用你所要求的xxx编码,绝对不会不听话,因此这个函数是很有用的。为什么会这样呢?那就得说说HTTPS标头和HTML信息的差 别了:
https标头是服务器以HTTP协议传送HTML信息到浏览器前所送出的字串。
因为meta标签是属于html信息的,所以header()发送的内容先到达浏览器,通俗点就是header()的优先级高于meta(不知道可 不可以这样讲)。加入一个php页面既有header("content-type:text/html; charset=xxx"),又有<META http-equiv="content-type" content="text/html; charset=xxx">,浏览器就只认前者http标头而不认meta了。当然这个函数只能在php页面内使用。
同样也留有一个问题,为什么前者就绝对起作用,而后者有时候就不行呢?这就是接下来要谈的Apache的原因了。
AddDefaultCharset
Apache 根目录的 conf 文件夹里,有整个Apache的配置文档httpd.conf。
用文本编辑器打开httpd.conf,第708行(不同版本可能不同)有AddDefaultCharset xxx,xxx为编码名称。这行代码的意思:设置整个服务器内的网页文件https标头里的字符集为你默认的xxx字符集。有这行,就相当于给每个文件都 加了一行header("content-type:text/html; charset=xxx")。这下就明白为什么明明meta设置了是utf-8,可浏览器始终采用gb2312的原因。
如果网页里有header("content-type:text/html; charset=xxx"),就把默认的字符集改为你设置的字符集,所以这个函数永远有用。如果把AddDefaultCharset xxx前面加个“#”,注释掉这句,而且页面里不含header("content-type…"),那这个时候就轮到meta标签起作用了。
推荐学习:《PHP视频教程》
以上就是php中header怎么设置编码的详细内容,更多请关注其它相关文章!
下一篇: php正则怎么替换img 属性
推荐阅读
-
完美解决PHP中的Cannot modify header information 问题_PHP教程
-
php7调试怎么在phpstorm中设置?
-
thinkpad笔记本怎么设置windows中显示动画?
-
WordPress中登陆后关闭登陆页面及设置用户不可见栏目,wordpress登陆后_PHP教程
-
php怎么查询MongoDB中存储的数组?
-
wait till you hear from me PHP中Date获取时间不正确怎么办
-
php eval函数参数中存在“=”会报错怎么办
-
php怎么判断是否在数组中存在
-
请教php怎么将utf-8编码的繁体转成gbk简体呢
-
AU中怎么设置减速伸缩变调效果?