zlb

ASP.NET, IE6下URL中文乱码问题

ASP.NET程序,当URL后缀包含奇数个中文字符(如:/Index.aspx?wd=团团转),会出现乱码情况。解决办法有三:

方法一、设置web.config文件并改网页meta编码。


<system.web>
    <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" uiCulture="zh-CN" responseHeaderEncoding="gb2312" fileEncoding="gb2312" />
</system.web>
并将所有.aspx文件头里编码写为:
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />


方法二、传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。


>> 传递前编码
Response.Redirect("B.aspx?Name="+Server.UrlEncode("中文参数"));
>> 接收时解码
Response.Write(Server.UrlDecode(Request["Name"]));


方法三、如果是使用javascript跳转到另一页,得使用escape将要传递的中文参数进行编码,在接收时再进行解码。


>> 传递前编码
<script language="JavaScript">
function GoUrl()
{
var Name = "中文参数";
location.href = "B.aspx?Name="+escape(Name) ;
}
<body onclick="GoUrl()">
>> 接收时解码
Response.Write(Server.UrlDecode(Request["Name"])) ;

posted on 2012-02-29 11:04  zlb  阅读(256)  评论(0编辑  收藏  举报

导航