|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!
1)利用标签设置页面编码
这个标签的感化是声明客户真个扫瞄器用甚么字符集编码显现该页面,xxx能够为GB2312、GBK、UTF-8(和MySQL分歧,MySQL是UTF8)等等。因而,年夜部分页面能够接纳这类体例来告知扫瞄器显现这个页面的时分接纳甚么编码,如许才不会形成编码毛病而发生乱码。可是有的时分我们会发明有了这句仍是不可,不论xxx是哪种,扫瞄器接纳的一直都是一种编码,这个情形我前面漫谈到。
请注重,是属于HTML信息的,仅仅是一个声明,仅标明服务器已把HTML信息传到了扫瞄器。
2)header(“content-type:text/html;charset=xxx”);
这个函数header()的感化是把括号内里的信息发到http标头。假如括号内里的内容为文中所说那样,那感化和标签基础不异,人人对比第一个看发明字符都差未几的。可是分歧的是假如有这段函数,扫瞄器就会永久接纳你所请求的xxx编码,相对不会不听话,因而这个函数是很有效的。为何会如许呢?那就得说说http标头和HTML信息的不同了:
http标头是服务器以http协定传送HTML信息到扫瞄器前所送出的字串。而标签是属于HTML信息的,以是header()发送的内容先抵达扫瞄器,普通点就是header()的优先级高于(不晓得可不成以如许讲)。假设一个php页面既有header(“content-type:text/html;charset=xxx”),又有,扫瞄器就只认前者http标头而不认meta了。固然这个函数只能在php页面内利用。
一样也留有一个成绩,为何前者就相对起感化,尔后者偶然候就不可呢?这就是接上去要谈的Apache的缘故原由了。
3)AddDefaultCharset
Apache根目次的conf文件夹里,有全部Apache的设置文档httpd.conf。
用文本编纂器翻开httpd.conf,第708行(分歧版本大概分歧)有AddDefaultCharsetxxx,xxx为编码称号。这行代码的意义:设置全部服务器内的网页文件http标头里的字符集为你默许的xxx字符集。有这行,就相称于给每一个文件都加了一行header(“content-type:text/html;charset=xxx”)。这下就分明为何明显设置了是utf-8,可扫瞄器一直接纳gb2312的缘故原由。
假如网页里有header(“content-type:text/html;charset=xxx”),就把默许的字符集改成你设置的字符集,以是这个函数永久有效。假如把AddDefaultCharsetxxx后面加个”#”,正文失落这句,并且页面里不含header(“content-type…”),那这个时分就轮到meta标签起感化了。
上面列出以上的优先按次:
header(“content-type:text/html;charset=xxx”)
..AddDefaultCharsetxxx
..
假如你是web程序员,倡议给你的每一个页面都加个header(“content-type:text/html;charset=xxx”),如许就能够包管它在任何服务器都能准确显现,可移植性也对照强。
4)php.ini中的default_charset设置:
php.ini中的default_charset=“gb2312″界说了php的默许言语字符集。一样平常保举正文失落此行,让扫瞄器依据网页头中的charset来主动选择言语而非做一个强迫性的划定,如许就能够在同台服务器上供应多种言语的网页服务。
聪明的你,显然已经逐渐的开悟了,慢慢的理解了编程的概念,那么祝贺你,你已经迈出了成功的第一步。 |
|