asp.net url传递中文参数后,后台中文参数乱码
程序员文章站
2022-03-02 11:48:30
...
1.设置web.config文件
<system.web>
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
</system.web>
2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。
//参数传递
string Name = "中文参数";
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name)) ;
//参数接受
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name)) ;
3.如果是从 .HTML 文件向后台 文件进行传递中文参数的话,一样要将传递的中文参数进行编码,在接收时再进行解码。
//传递参数
<script language="JavaScript">
function GoUrl()
{
var Name = "中文参数";
location.href = "B.aspx?Name="+escape(Name) ;
//location.href = "B.aspx?Name="+Server.UrlEncode(Name));
}
<body onclick="GoUrl()">
//接收参数
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name)) ;
//或用
Response.Redirect("test1.aspx?111="+System.Web.HttpUtility.UrlEncode("中华人明*")) ;