raksmart活动促销

分享

写回答

发帖

求教PHP网页乱码问题

互联网出海创业 互联网出海创业 4041 人阅读 | 8 人回复

发表于 2010-7-14 14:06:37 | 显示全部楼层 |阅读模式

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

文件以ANSI编码存,中文乱码,页面IE显示正常


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


文件以UTF-8存,中文正常,页面IE显示空白(chrome可以显示)



求解!


DEMO:http://www.9s2cu.com/4search/     

这是以  charset=GB2312  ANSI编码存的,IE可以打开,但是输入中文搜一下,出来就乱码

如果换成UTF-8就可以正常使用,但是用IE就空白了。

我把php贴出来,即使加上header("Content-type: text/html; charset=gb2312");头也不起作用,帮忙看下
<?php
include("config.php");
$keyword = urlencode($_REQUEST['keyword']);
//$left_url = $search_engine['baidu']['url'].$keyword;
//$middle_url = $search_engine['yahoo']['url'].$keyword;
//$right_url = $search_engine['google']['url'].$keyword;
$left_url = $search_engine[$_REQUEST['left']]['url'].$keyword;
$right_url = $search_engine[$_REQUEST['right']]['url'].$keyword;
//echo $left_url;
//echo $right_url;
?>
<!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=gb2312" />
<title>4search 9s2cu.com</title>
<meta name="description" content="4search 9s2cu.com" />
<meta name="keywords" content="yahoo, google, bing, ask, 4search 9s2cu.com" />
<SCRIPT LANGUAGE="JavaScript">
<!--
if(navigator.userAgent.indexOf("MSIE")>0){
  var location='';
}

window.status = '9s2cu.com';
function killErrors() {
return true;
}
window.onerror = killErrors;
//-->
</SCRIPT>
</HEAD>
<FRAMESET rows="22,*" frameborder="yes" framespacing="4" border="6" bordercolor="#3cb738">
  <FRAME src="header.php?keyword=<?php echo $keyword; ?>&left=<?php echo $_REQUEST['left']; ?>&right=<?php echo $_REQUEST['right']; ?>&start=<?php echo $_GET['start']; ?>" frameborder="0" noresize="noresize" scrolling="no" />
  <FRAMESET id="myFrame" cols="*,11,*" frameborder="no" framespacing="0" border="0" bordercolor="#3cb738">
        <FRAME src="<?php echo $left_url; ?>" scrolling=auto>
        <FRAME src="middle.html" frameborder="0" noresize="noresize" scrolling="no" />
        <FRAME src="<?php echo $right_url; ?>" scrolling=auto>
  </FRAMESET>
</FRAMESET>  
<NOFRAMES></NOFRAMES>
</HTML>







3Q

[ 本帖最后由 yebi1985 于 2010-7-14 02:18 PM 编辑 ]

回答|共 8 个

boro

发表于 2010-7-14 14:23:05 | 显示全部楼层

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

这句话放到紧靠head下面试试
RAKSmart

boro

发表于 2010-7-14 14:23:47 | 显示全部楼层

也可能是服务器指定了默认的编码,ie就没根据网页指定的编码自动选择

goldstein

发表于 2010-7-14 14:25:37 | 显示全部楼层

应该是空间强制指定了页面字符集。在.htaccess文件中加入:
  1. AddDefaultCharset off
复制代码
即可

评分

参与人数 1威望 +3 金币 +5 银币 +10 收起 理由
cqboy2003 + 3 + 5 + 10

查看全部评分

kingto

发表于 2010-7-14 15:38:23 | 显示全部楼层

相辅相成。
RAKSmart

yebi1985

发表于 2010-7-14 20:59:54 | 显示全部楼层

原帖由 goldstein 于 2010-7-14 02:25 PM 发表
应该是空间强制指定了页面字符集。在.htaccess文件中加入:AddDefaultCharset off即可


方法有效,解决了UTF-8    IE显示空白的问题。

感谢版主指导。


但是charset=gb2312下中文还是乱码,

因为我说的这个网站是个框架站,可以从PHP中看出,UTF8的情况下,框架有点不正常,不能紧贴网页顶部,只要改为charset=gb2312就紧贴网页顶部了,设置上没有问题,

先就这么着了,不想折腾了,让IE正常就行了,IE真该退出历史舞台,为了照顾它,把代码整得乱七八糟的!




再次感谢,我爬了一天的网页,一句话就给我解决了!





kingto

发表于 2010-12-29 09:26:33 | 显示全部楼层

恭喜问题解决了 呵呵

wingyue

发表于 2011-1-11 09:12:55 | 显示全部楼层

收藏一下4樓的方法

xiaoliu123

发表于 2011-5-25 16:22:00 | 显示全部楼层

好贴,绝对要支持下!!~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则