已有40人关注
关于页面乱码问题
发表在PHP图书答疑 2015-09-11
是否精华
版块置顶:
编者:
    您好!
    继续阅读从当当网买的你写的《实战突击:PHP项目开发案例整合》第二版一书。运行第六章的源程序,点击“登录”弹出用户登录页面,输入用户名root,密码123456,及验证码。再点击“登录”,打开/center/center.php页面。此时由于随书光盘中的/center/center.php页面编码是gb2312,源代码中的charset值也是gb2312.所以打开的页面没乱码。但我用EditPlus打开/center/center.php源代码,然后保存为utf-8编码。/center/center.php源代码中的header('Content-Type:text/html;charset=gb2312');和<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />也相应的改成
header('Content-Type:text/html;charset=utf-8'); 和<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,再登录,打开/center/center.php页面,出现乱码。请问是什么原因?此时再用EditPlus将源代码/center/center.php保存为gb2312编码格式,/center/center.php源代码中的header('Content-Type:text/html;charset=utf-8');和<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />代码保持不变,即charset值仍为utf-8,再打开/center/center.php页面,奇迹发生了,页面居然没出现乱码。按常理此时应该出现乱码的呀。请问为什么?用同样的方法测试blog/index.php页面符合常理。页面编码改成utf-8,源代码中charset值也相应改成utf-8,打开页面无乱码。页面编码改成gb2312,源代码中的charset值仍然是utf-8,打开页面出现乱码,符合常理。请问这是为什么?。请指教,附件中有源代码请测试,谢谢!
分享到:
精彩评论 4
铁游夏
学分:0 LV1
TA的每日心情
还糊涂
2020-10-22 13:46:07
2015-09-12
沙发
这个项目的所有文件的编码都是gb2312,如果你想把center.php文件的编码格式改为utf-8,需要把该文件中包含的所有文件的编码格式都修改才可以。
fubaishi
学分:0 LV1
2015-09-14
板凳
编者:
    您好!
    按按照你的说法将center.php文件中包含的所有文件的编码格式都修改成utf-8问题解除。现在还有一个问题。
    center.php文件头部有这样一段代码:
    <?php
    header('Content-Type:text/html;charset=utf-8');
session_start();
include_once '../config.php';
include_once 'conn/conn.php';
include_once 'inc/count.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
现在我将“meta”标签里的charset值改成gb2312,按照我的想法应该后面charset的值覆盖前面的值,所以此时打开center.php显示乱码。
但事与愿违,此时却不显示乱码。为什么?是header里的charset的值的优先级高于meta里的charset的值吗?请指教,谢谢!
铁游夏
学分:0 LV1
TA的每日心情
还糊涂
2020-10-22 13:46:07
2015-09-15
地板
如果页面中的编码格式不统一,在不同浏览器下的运行结果可能会不一样,建议你统一页面的编码格式。
fubaishi
学分:0 LV1
2015-09-16
4L
编者:
    你好!
    运行上述/center/center.php,一开始编码是gb2312,浏览器能正常浏览。接下来我用EditPlus将/center/center.php文件及其所包含的文件的编码都改成utf-8,在不清除浏览器页面缓存的情况下也能正常浏览。以前我在提问“关于ajax登录问题”时,由于window.XMLHttpRequest写成window.XMLHttpReuqest,readyState写成readystate,导致不能正常登录用户。将上述代码修改正确后在不清除浏览器页面缓存的情况下还是不能正常登录用户,只有在清除浏览器页面缓存后才能正常登录用户。现在问题来了,到底在什么情况下要清除浏览器页面缓存才能正常浏览网页呢?
首页上一页 1 下一页尾页 4 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照