页面出现乱码,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()">
function GoUrl()
{
var Name = "中文参数";
location.href = "B.aspx?Name="+escape(Name) ;
}
<body onclick="GoUrl()">
接:
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name)) ;