首先声明,小子不是专搞php的,所以对于下文所提及的问题可能是常见的,但出于是新手的原因,这里不太明白。

问题起源:数月前在博友哪里看到一套php写的在线挂QQ小程序,就是通过定时刷新登陆3GQQ实现挂机的那种。修改后讲程序扔主机上并把自己收藏多年的几个QQ挂了起来,就这样一直相安无事,很正常运行也从没出现过乱码问题。

问题表现:出现问题是很偶然的一次打开页面,因为很久没打开了,打开还以为是加载缓存问题,结果无聊怎么删除缓存重新加载、刷新,都是无果,出现令人无语的乱码。随便看了下找不出问题,而且我很明确的知道我没有动过原文件。退一万步讲,如果是一些未知因素导致了乱码,我重新上传程序应该没问题了吧?程序本地测试都是没问题的。可是重新上传依然无果。最后只能以放弃告终,好在程序功能还能用,只是个人用的,所以就这么将就下来了。

问题解决:今天,因为白天睡了一天没有 睡意,猫在电脑前折腾博客,折腾完又折腾下其他的东西,最后想起了这个程序的乱码,重新试了自己认为可以解决的n种方法无果,网上找了不少资料,测试无果。最后却败给一句include,因为乱码的地方主要是在一个bottom.php的文件中,其次就是header.php中,index.php首先引人也是header,最后是bottom和footer,结果title是乱码的,bottom里面内容也是乱码的,网上说的是在index中添加如下代码来解决

header(“Cache-Control:no-cache”);

插入后没反应,不知道是缓存没删还是什么原因(我在线改的),总之等了有一段时间,刷新删缓存n次无效果。
最后,title内容通过修改头部的描述信息如下解决了

< !DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

虽然不确定是不是因为添加以上信息才解决的,但bottom依然是乱码,最后想了一个不正常的手段,在bottom里面也加了句

< !DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

刷新居然正常了。

接下来,不正常的问题又出现了,我将之前添加的东西全部删掉,再次打开页面,依然正常了。至此,我还不知道问题根源所在,但至少还是解决了乱码。具体问题原因,欢迎前来探讨,更欢迎php高手前来指点。

补充一点:有人一直说可能是各种常识性问题,这里不得已更新一下文章了,我已经回复说明过了,不是常见问题,虽然不专业搞php,但是对于这些基础,作为一个Web开发人员,是不是应该都知道呢?如果得罪您了,这里赔礼道歉,我一直认真看诸位网友的评论,也希望过来的网友能够理解下我的话,毕竟我表达能力差嘛。不要见怪。