一个让人疑惑的PHP编码问题的解决打赏
首先声明,小子不是专搞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开发人员,是不是应该都知道呢?如果得罪您了,这里赔礼道歉,我一直认真看诸位网友的评论,也希望过来的网友能够理解下我的话,毕竟我表达能力差嘛。不要见怪。
- 固定链接:https://www.poorren.com/a-problem-about-php
- 文章标签:php,乱码,代码,编码,解决
- 扫二维码:一个让人疑惑的PHP编码问题的解决
- 版权所有:除"转载分享"分类外,未经注明,均为原创、整理,转载请注明出处。
顶。。一定得顶。。。。
大神就是大神,厉害了
看了。不错。
看了。不错。
博客恢复了?
不知道,这会客服在检测,我准备面试呢,没顾上看。
博客恢复了?
不知道,这会客服在检测,我准备面试呢,没顾上看。
路过围观的。看来真的被攻击了,不过确定是那小孩么?现在很多小孩子都是这样的。不知道折腾折腾有什么用。
不知道呀,无所谓了,你是群里的黑阔么?
路过围观的。看来真的被攻击了,不过确定是那小孩么?现在很多小孩子都是这样的。不知道折腾折腾有什么用。
不知道呀,无所谓了,你是群里的黑阔么?
高手呀!!!
高手呀!!!
或许你可以贴出代码让大家看看?不一定会是网页的编码不正确,有可能是脚本的编码错了。
可能我表达有问题吧,我意思是说之前没有问题,没动文件的情况下突然出现问题,然后改了改恢复了,把改的地方还原也没问题了。
之前的情况是什么样的?没改动文件时是不会出问题的,那么可能脚本本身就有问题,只不过,之前因为数据全都是初始化状态罢了。或者还有一个原因,就是浏览器的编码搞错了,在浏览页面时,把右键>编码>自动选择(或自动检测)的勾去掉。
这些问题全部试过了,不存在浏览器原因和编码什么的,不然不会说诡异的,程序没有涉及数据库,原先找的程序好好的,我修改后也没问题,运行了两个月了,突然出问题,找不到原因又重新上传没修过之前的程序一样乱码,但这些在改过之后都没问题了
这类浏览器编码的常识性问题,不必怀疑
那文件是否是utf8编码?普通编辑器修改难免留下bom头,如果是,清除一下bom头试试看,除此之外我想不出还有什么能导致脚本出错。
我跟你讲了问题已经解决了,这些都是常识性问题,Understand?
汗,这个态度。。。
别人是抱着帮你解决问题的心来的,你的回复却是无比厌烦的以及。。。。呵呵,图森破。
我问题解决过了呢,不好意思让你会有这样的感觉,只是很多人根本不知所云
楼上仁兄也挺没意思的。那小孩是你什么人啊。反正如果有人这样跟我讲常识我是不会有多待见他。还没事公鸡。呵呵,真的图森破了
说实话不懂你们的图森破。
你有意思,我觉得挺逗的。公鸡的事情我不知道。但是我觉得对待一个好心帮助你的人,这种态度就不对。无所谓啊,我也只是旁观者。教育人是别人父母和老师的责任,我的手还不至于伸这么长。
好吧,都说了是我的原因,我解决过的问题不该发出来,而且我表达能力差,让他们大家觉得我问题没解决。
哥们,还让人家以为跟我是一伙的呢,这事本来不该说那么多,是我闲着了,我是做J2EE程序开发的,可能做php、网站之类的认为我不会懂这个吧。算我多嘴,查了图森破我真的笑了,现在的弟弟们都喜欢跟哥哥较真,看来我是老了。
那就滚,OK?什么态度?fuck
不好意思,我态度不好了,不改还想问下小兄弟,怎么样才能确定不改文件不会出问题呢?
都被公鸡了你还这么淡定,佩服ing
我没有毅力啊。呵呵
还有一点,不是脚本错误,是编码错误,请不要混为一谈,说问题诡异是因为现在这个现象无论如何还原不了
或许你可以贴出代码让大家看看?不一定会是网页的编码不正确,有可能是脚本的编码错了。
可能我表达有问题吧,我意思是说之前没有问题,没动文件的情况下突然出现问题,然后改了改恢复了,把改的地方还原也没问题了。
之前的情况是什么样的?没改动文件时是不会出问题的,那么可能脚本本身就有问题,只不过,之前因为数据全都是初始化状态罢了。或者还有一个原因,就是浏览器的编码搞错了,在浏览页面时,把右键>编码>自动选择(或自动检测)的勾去掉。
这些问题全部试过了,不存在浏览器原因和编码什么的,不然不会说诡异的,程序没有涉及数据库,原先找的程序好好的,我修改后也没问题,运行了两个月了,突然出问题,找不到原因又重新上传没修过之前的程序一样乱码,但这些在改过之后都没问题了
这类浏览器编码的常识性问题,不必怀疑
那文件是否是utf8编码?普通编辑器修改难免留下bom头,如果是,清除一下bom头试试看,除此之外我想不出还有什么能导致脚本出错。
我跟你讲了问题已经解决了,这些都是常识性问题,Understand?
汗,这个态度。。。
别人是抱着帮你解决问题的心来的,你的回复却是无比厌烦的以及。。。。呵呵,图森破。
我问题解决过了呢,不好意思让你会有这样的感觉,只是很多人根本不知所云
楼上仁兄也挺没意思的。那小孩是你什么人啊。反正如果有人这样跟我讲常识我是不会有多待见他。还没事公鸡。呵呵,真的图森破了
说实话不懂你们的图森破。
你有意思,我觉得挺逗的。公鸡的事情我不知道。但是我觉得对待一个好心帮助你的人,这种态度就不对。无所谓啊,我也只是旁观者。教育人是别人父母和老师的责任,我的手还不至于伸这么长。
好吧,都说了是我的原因,我解决过的问题不该发出来,而且我表达能力差,让他们大家觉得我问题没解决。
哥们,还让人家以为跟我是一伙的呢,这事本来不该说那么多,是我闲着了,我是做J2EE程序开发的,可能做php、网站之类的认为我不会懂这个吧。算我多嘴,查了图森破我真的笑了,现在的弟弟们都喜欢跟哥哥较真,看来我是老了。
那就滚,OK?什么态度?fuck
不好意思,我态度不好了,不改还想问下小兄弟,怎么样才能确定不改文件不会出问题呢?
都被公鸡了你还这么淡定,佩服ing
我没有毅力啊。呵呵
还有一点,不是脚本错误,是编码错误,请不要混为一谈,说问题诡异是因为现在这个现象无论如何还原不了
呵呵
支持一下。
全篇看完,完全搞不懂意思,别说疑惑了1
我记得我之前用一个企业程序好像也有过类似的情况,就是之前网站乱码什么的错误很多,添加了一些修改代码后,好像就好了。然后又去掉,但是问题没有再次出现。。。
是不是很诡异啊。
相当诡异,相当蛋疼。
自己写了个挂Q的程序,php的,感觉不错。
网上的源码也看过,太复杂,也只看个半懂…
是么。你的简单版地址是?发来瞧瞧。
感谢楼主精彩分享,谢谢!http://www.cctvbd.com
外行人看不明白
很疑惑额。看不明白。