• 技术文章 >后端开发 >PHP问题

    php中header怎么设置编码

    藏色散人藏色散人2021-09-14 10:09:21原创248

    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中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php header
    上一篇:怎么使用php实现用户登录 下一篇:php 怎么设置cookie记住密码
    大前端线上培训班

    相关文章推荐

    • html中header定义什么意思• php header 不起作用怎么办• php怎么利用header()禁止缓存• php header怎么跳转传值

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网