新蒲京200.c软件下载-app官网网址 > 问答 >

我们得以应用header方法来钦定PHP页面包车型客车页面编码澳门新蒲京官网网址

在PHP中,我们能够动用header方法来钦命PHP页面包车型大巴页面编码,能够是UTF,也足以是GBK编码,具体方法如下:

php页面为utf编码
header(“Content-type: text/html; charset=utf-8″);

php页面为gbk编码
header(“Content-type: text/html; charset=gb2312″);

php页面为big5编码
header(“Content-type: text/html; charset=big5″);

日常性状态之上代码放在php页面包车型地铁首页

用header或meta完结PHP页面编码的分别

一、页面编码

1. 用到 <META http-equiv=”content-type” content=”text/html; charset=xxx”> 标签设置页面编码

以此标签的效用是宣称客户端的浏览器用什么样字符集编码突显该页面,xxx可认为GB2312,GBK,UTF-8(和MySQL分化,MySQL是 UTF8)等等。因而,抢先二分之一页面能够行使这种艺术来告诉浏览器突显这些页面包车型地铁时候利用什么样编码,这样才不会变成编码错误而产生乱码。但是部分时候大家会 开采成了那句还是特别,不管xxx是哪一类,浏览器选拔的始终都以一种编码,这么些状态小编背后构和到。

请在乎,<meta>是归属html音讯的,仅仅是贰个扬言,它起效果表明服务器已经把HTML消息传到了浏览器。

2. header(“content-type:text/html; charset=xxx”);

本条函数header(卡塔尔国的机能是把括号里面包车型大巴新闻发到http标头。

要是括号里面包车型地铁剧情为文中所说那样,那效能和<META>标签基本雷同,我们对待第4个看开采字符都大约的。但是区别的是如果有这段 函数,浏览器就能够永恒选取你所供给的xxx编码,相对不会不听话,因而这么些函数是很有用的。为啥会这么吗?这就得说说HTTPS标头和HTML音信的差异了:

https标头是服务器以HTTP公约传送HTML消息到浏览器前所送出的字串。

因为meta标签是归于html新闻的,所以header(卡塔尔(قطر‎发送的从头到尾的经过先到达浏览器,通俗点正是header(卡塔尔的先行级高于meta(不知晓可 不得以这么讲)。插足五个php页面既有header(“content-type:text/html; charset=xxx”State of Qatar,又有<META http-equiv=”content-type” content=”text/html; charset=xxx”>,浏览器就只认前面三个http标头而不认meta了。当然那么些函数只可以在php页面内选择。

相像也留有四个题目,为啥后面一个就相对起效果,而前者有时候就相当呢?那就是接下去要谈的Apache的缘由了。

3. 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标签起效果了。

总结:

来个排序

header(“content-type:text/html; charset=xxx”)
AddDefaultCharset xxx
<META http-equiv=”content-type” content=”text/html; charset=xxx”>
假设您是web程序员,给你的种种页面都加个header(“content-type:text/html; charset=xxx”卡塔尔国,保险它在其余服务器都能精确展现,可移植性强。

至于那句AddDefaultCharset xxx,要不要讲解就各持己见了。反正小编是注释掉了,可是小编写页子也要写header(卡塔尔,便于放到服务器上能健康展现。

二、数据库编码

PHP 程序在查询数据库以前,首先实行 mysql_query(“SET NAMES xxxx”卡塔尔(قطر‎;个中xxxx 是您网页的编码(charset=xxxx卡塔尔,要是网页中 charset=utf8,则 xxxx=utf8,假若网页中 charset=gb2312,则xxxx=gb2312,差不离全体WEB程序,都有一段连接数据库的公共代码,放在二个文件里,在此文件里,参预mysql_query(“set names”卡塔尔就足以了。

SET NAMES 展现顾客端发送的 SQL 语句中运用什么字符集。由此,SET NAMES ‘utf-8′语句告诉服务器“以往从那几个客商端传来的新闻使用字符集utf-8”。它还为服务器发送回想客端的结果钦命了字符集。(举个例子,假若你选拔五个SELECT语句,它表示列值使用了怎样字符集。)

PHP页面编码统一

MySQL数据库编码、html页面编码、PHP或html文件本身编码要通首至尾雷同。
1、MySQL数据库编码:建设构造数据库时钦赐编码(如gbk_chinese_ci卡塔尔国,创设数据表、构建字段、插入数据时绝不内定编码,会自行三番五次数据库的编码。
数据库连接时,也会有编码,能够在接连完数据库后,实践
mysql_query(‘SET NAMES gbk’卡塔尔国;//将gbk换来你的编码,如utf8。

2、html页面包车型大巴编码,指的是这一行的装置:
<meta http-equiv=”Content-Type” content=”text/html; charset=gbk” />

3、PHP或html文件本人的编码:用editplus张开php文件或html文件,另存时,接纳的编码,若是数据库和页面编码是gbk,则那儿的编码接收ansi;假诺数据库和页面编码是utf-8,则那儿也选拔utf-8。

4、此外要留意的是,Javascript或Flash中传递的数据是utf-8编码,假若数据库和页面编码是gbk,要扩充转码,然后写入数据库。
iconv(‘utf-8′, ‘gbk’, $content);

5、在PHP程序中,能够增进一行,来钦定PHP源程序的编码:
header(‘Content-type: text/html; charset=gbk’);

下一篇:没有了