页面编码声明方法详解,PHP利用header和meta实现页面编码声明永利澳门游戏网站:

平凡状态之上代码放在php页面包车型地铁首页

二、数据库编码
PHP 程序在查询数据库从前,首先履行 mysql_query(“SET NAMES xxxx”卡塔尔;在那之中xxxx 是您网页的编码(charset=xxxx卡塔尔国,假诺网页中 charset=utf8,则
xxxx=utf8,要是网页中
charset=gb2312,则xxxx=gb2312,大致具有WEB程序,都有一段连接数据库的集体代码,放在二个文本里,在这里文件里,参预mysql_query(“set names”卡塔尔就足以了。

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

https标头是服务器以HTTP左券传送HTML新闻到浏览器前所送出的字串。

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

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

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

MySQL数据库编码、html页面编码、PHP或html文件本人编码要全体同一。
  1、MySQL数据库编码:创立数据库时钦点编码(如gbk_chinese_ci卡塔尔国,营造数据表、构建字段、插入数据时毫无钦点编码,会自动接二连三数据库的编码。
数据库连接时,也许有编码,能够在连接完数据库后,实践
mysql_query(‘SET NAMES gbk’卡塔尔;//将gbk换成你的编码,如utf8。

在PHP中,我们得以应用header方法来内定PHP页面包车型客车页面编码,能够是UTF,也足以是GBK编码,具体方法如下:

PHP页面编码统一

二、数据库编码

PHP 程序在查询数据库此前,首施夷光行 mysql_query(“SET NAMES xxxx”卡塔尔;当中xxxx 是您网页的编码(charset=xxxx卡塔尔,若是网页中 charset=utf8,则
xxxx=utf8,假若网页中
charset=gb2312,则xxxx=gb2312,大致具有WEB程序,都有一段连接数据库的共用代码,放在三个文件里,在这里文件里,加入mysql_query(“set names”State of Qatar就能够了。

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’);

SET NAMES 显示顾客端发送的 SQL 语句中采Nash么字符集。由此,SET NAMES
‘utf-8’语句告诉服务器“以后从那几个顾客端传来的新闻应用字符集utf-8”。它还为服务器发送回客商端的结果钦赐了字符集。(比方,若是您利用一个SELECT语句,它代表列值使用了怎么字符集。)

用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>标签基本相通,我们对待第八个看发掘字符都大约的。可是区别的是如若有这段
函数,浏览器就能够恒久选拔你所须要的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的原故了。

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”State of Qatar,就把暗中认可的字符集改为你设置的字符集,所以这么些函数永恒有用。假诺把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的header来定义二个php页面为utf编码或GBK编码

一直以来也留有二个标题,为何前面一个就相对起效果,而后人有的时候候就十一分吧?那正是接下去要谈的Apache的原故了。

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”卡塔尔,保障它在其他服务器都能准确呈现,可移植性强。

  4、别的要小心的是,Javascript或Flash中传送的数额是utf-8编码,假诺数据库和页面编码是gbk,要举行转码,然后写入数据库。
iconv(‘utf-8’, ‘gbk’, $content);

那个函数header(卡塔尔国的意义是把括号里面的音信发到http标头。

见惯不惊状态之上代码放在php页面包车型地铁首页

至于那句AddDefaultCharset
xxx,要不要解说就智者见智了。反正笔者是注释掉了,可是本身写页子也要写header(卡塔尔,便于放到服务器上能平常展现。

因为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页面内采取。

来个排序

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注