PHP 开发中的中文编码问题
日期:2007年10月9日 作者: 查看:[大字体 中字体 小字体]-
解决各种应用的乱码问题
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 行(不同版本可能不同)有 AddDefaultCharset xxx,xxx为编码名称。这行代码的意思:设置整个服务器内的网页文件 http 标头里的字符集为你默认的 xxx字符集。有这行,就相当于给每个文件都加了一行 header("content-type:text/html; charset=xxx")。这下就明白为什么明明 设置了是 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
..
如果你是 web 程序员,建议给你的每个页面都加个header("content-type:text/html;charset=xxx"),这样就可以保证它在任何服务器都能正确显示,可移植性也比较强。
4) php.ini 中的 default_charset 配置:
php.ini 中的 default_charset = "gb2312" 定义了 php 的默认语言字符集。一般推荐注释掉此行,让浏览器根据网页头中的 charset 来自动选择语言而非做一个强制性的规定,这样就可以在同台服务器上提供多种语言的网页服务。
- 上一页 [1] [2] [3] 下一页
-
- PHP 开发中的中文编码问题 相关文章:
- ·Windows Vista停止报告程序问题的技巧方法
- ·精致可爱的圣诞节主题图标作品欣赏
- ·JavaScript/JS实现标题栏跑马灯
- ·网页排名靠前网页标题写法
- ·CSS常见问题和技巧总结
- ·XHTML标签写法应该注意的问题
- ·sqlldr加载数据到不同表的问题
- ·深入分析Windows操作系统死机问题
- ·详细分析操作系统死机的问题
- ·火拼QQ泡泡龙常见问题和解决办法
- PHP 开发中的中文编码问题 相关软件
- ·《最终幻想12》主题曲单曲欣赏
- ·《春秋Q传》的主题曲 懂我
- ·军旅题材电视剧原著小说合集
- ·PS2《ACE3》主题单曲CD
- ·冷战主题RTS新作《冲突世界》试玩
- ·欧洲经典海盗题材巨作《海盗》
- ·《胡玥警察侦探题材小说选》
- ·德国无主题专业摄影大赛作品集(幻灯版)
- ·《世界杯海报、吉祥物、LOGO、主题曲合集》(翻页版)
- ·美丽的乡间主题精品绘画集
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:VS2005中的WebSite和WebApplication有何区别
精品推荐
热点TOP10
- ·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
- ·学习教程:Java Annotation 高级应用
- ·Windows XP下PHP+MySQL环境搭建
- ·smarty技术学习,修改php模板的一点体会
- ·PHP中的sprintf()函数的学习研究笔记
- ·PHP技巧:使用APC缓存优化PHP程序
- ·windows下Apache2+php4+MySql5集成简明教程
- ·PHP预定义变量
- ·突破Windows 2003 PHP服务器的新思路
- ·用Apache反向代理设置对外的WWW和文件服务器
- ·Mysql的常用命令
- ·如何在Form域中Post大于100K字节的数据
- ·详细学习PHP中对文件和目录的操作方法
- ·急速搭建属于自己的Discuz!6论坛
- ·如何利用PHP会话显示出当前在线的用户
- ·PHP编程中break及continue两个流程控制指令
- ·PHP项目将联合起来转向PHP5
- ·初学解决疑惑:PHP是什么?
- ·Discuz!5.5 JS的调用
- ·PHP4将结束更新并在明年退出历史的舞台
特别推荐
- ·PHP入门指导:如何学习PHP?
- ·Php+Mysql注入专题
- ·PHP:实现给上传图片加水印的程序代码
- ·PHP动态网站开发中常用的8个小技巧
- ·PHP初学者:配置Apache服务器并且设置DNS
- ·初学PHP指导:php.ini 配置详细选项
- ·好文分享:PHP入门的学习方法
- ·急速搭建属于自己的Discuz!6论坛
- ·PHP入门:初学来看配置文件PHP.INI的中文注释
- ·php.ini配置,php.ini 中的 php-5.2.0 配置指令详解
- ·总结:一些PHP学习过程中的心得和经验
- ·新手入门:JSP初学者必须掌握的语法点
- ·PHP技巧:PHP脚本编程中的文件系统函数库
- ·详细讲解PHP编程中分页显示的制作
- ·成为PHP编程高手应该遵循的三个准则
- ·谈谈生成静态页面的一些经验
- ·新手入门:详细解述七个软件开发的原则
- ·简单的webservice开发例子
- ·PHP木马攻击的防御之道
- ·基础入门:动态网页制作PHP中Session的概念
