页面出现乱码,URL传值乱码

1. 页面默认为UTF-8   

2.  编码有2个方面

传输编码和客户端解码

当编码和解码相同的时候就显示正常

当编码和解码不同的时候就会出问题

3.  如果你在web.config中加入

<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/>

这样可以解决 URL传汉字乱码的问题,但在其它页页可能出现乱码。  所以最好不要在web.config中加入上面的语句.

如: // String strName="中国";

//       Response.Redirect("PrivRoleQuery.aspx?SendVal="+strName);

//       string strSendVal = Request.QueryString["SendVal"]; 

解决办法: 

传: 

String strRoleNameVal="中国";

string strName= Server.UrlEncode(strRoleNameVal);

Response.Redirect("PrivRoleQuery.aspx?SendVal="+strName);

 接:

string strSendVal =Server.UrlDecode(Request.QueryString["SendVal"]);

4.另一种是在脚本中传.

传:

<script language="JavaScript"> 
function GoUrl() 

var Name = "中文参数"
location.href 
= "B.aspx?Name="+escape(Name) ; 

<body onclick="GoUrl()"> 

接:

string Name = Request.QueryString["Name"]; 
Response.Write(Server.UrlDecode(Name)) ; 
 

 

posted @ 2009-07-14 10:36  wj-conquer  阅读(381)  评论(0编辑  收藏  举报