首页 > PHP教程 > php开发知识文章

PHP 页面编码的声明方法

META标签 

使用 <META http-equiv="content-type" content="text/html; charset=utf-8"> 标签设置页面编码 

这个标签是声明客户端的浏览器用什么字符集编码显示该页面,charset为GB2312,GBK,UTF-8(MySQL是 UTF8)等。因此,大部分页面可以采用这种方式来告诉浏览器显示这个页面的时候采用什么编码,这样才不会造成编码错误而产生乱码

<meta>是属于html信息的,仅仅是一个声明,它起作用表明服务器已经把HTML信息传到了浏览器。 

 

header函数

header("content-type:text/html; charset=xxx"); 

这个函数header()的作用是把括号里面的信息发到http标头。 

如果括号里面的内容为文中所说那样,那作用和<META>标签基本相同

http标头是服务器以HTTP协议传送HTML信息到浏览器前所送出的字串。 

因为meta标签是属于html信息的,header()发送的内容先到达浏览器

加入一个php页面既有header("content-type:text/html; charset=xxx"),又有<META http-equiv="content-type" content="text/html; charset=xxx">,浏览器就只认前者http标头而不认meta了。这个函数只能在php页面内使用。 

 

AddDefaultCharset配置

Apache 根目录的 conf 文件夹里,有整个Apache的配置文档httpd.conf。 

httpd.conf文件AddDefaultCharset xxx,xxx为编码名称。设置整个服务器内的网页文件https标头里的字符集为你默认的xxx字符集。有这行,就相当于给每个文件都 加了一行header("content-type:text/html; charset=xxx")

 

优先级:如果网页里有header("content-type:text/html; charset=xxx"),就把默认的字符集改为你设置的字符集,所以这个函数永远有用。如果把AddDefaultCharset xxx前面加个“#”,注释掉这句,而且页面里不含header("content-type…"),那这个时候就轮到meta标签起作用了

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。