墨者,爱, 心情!
墨者學堂

让人烦恼的 PHP + UTF8 乱码解决方案 

5
July 2009

 

   一般来说,如果将 各个文件类型,HTML 的 charset ,   数据库连接编码都设置为 utf8 , 是不会有乱码问题的

 不过我今天着实遇见了一个诡异的事情。

 

不知道因为什么原因,服务器上的Apache被人修改,而我没有这台服务器的超级权限,

导致我的一个项目下面的网站全部乱码。

打开源文件,没有乱码,但是显示页面全是乱码。

将乱码页面保存在本地,页面就显示正常。

 

真是怪异。

仔细检查了一下,所有能设置编码的地方均为 UTF-8,并且,文件头部没有BOM.

 

我前前后后都想了一遍,着实不知道是什么什么原因。

我甚至怀疑,是不是我的 IE8 出问题了。

 

唉,万恶的浏览器,万恶的互联网。

我此刻才深切认识到 当年秦始皇一统天下的 良苦用心。

想了很久,也没有解决方案。无奈的我,束手无策。

 

 

我忽然想,如果我在页面中加入:

header("Content-type: text/html; charset=utf-8");

会怎么样?

 

php开发手册中写道:

header("Content-type: text/html; charset=utf-8");

的作用同

<meta http-equiv="Content-Type" content="text/html; charset=utf8" />

那么,我加

header("Content-type: text/html; charset=utf-8");

也是多此一举了。

 

不过我不甘心,无意中测试了一下。

结果,结果与我想象的结果不一样,页面正常了。

 

 

 

关于深层次含义,我还没有细想,先记录下来。

 

 

 

上一篇没有了

无心:

2009-08-16 23:37
顶!

谢谢啊,这个问题困扰我很久,谢谢。

coldfir:

2009-08-22 21:52
*/alert(1);
;alert(1);

coldfir:

2009-08-22 21:54
</div>alert(1);
  • 最多十个字
  • 保证不会公开
  • 保存
  •  
  • 王子墨 · Julying
  • 23岁 · 长沙
  • 网页设计师 · Web开发工程师
©2006-2010 Fridaying.Com | All Rights Reserved.