摘要:
下文讲述url中传递中文的几种方法分享,如下所示;
我们都知道,url中传递中文会乱码,那么我们如何避免这种情况发生呢?
通过查阅资料,我得知,在url传递时,需对其进行中文编码,才能避免url传递中文乱码的现象发生,
下文将讲述不同情况的处理方法,如下所示:
一、web.config文件配置方法
我们可以在web.config中指定request和response的编码方式,避免接收和传送中文时,出现乱码,如下:
二、C#端对参数进行编码和解码
我们可以在c#后面获取和传送参数值时,对其进行编码和解码操作,采用这种方式也可以避免出现中文乱码
在url中输出参数值时,使用Server.UrlEncode对其编码
在后台获取参数值时,使用Server.UrlDecode对其进行解码
//输出url链接信息
string n = "中文值";
Response.Redirect("maomaoTest.aspx?n="+Server.UrlEncode(n));
//后台获取url信息
string n = Request.QueryString["n"];
Response.Write(Server.UrlDecode(n));
三、html代码中对包含中文即特殊参数值进行编码,后台获取时,进行解码
1.在js中生成链接,我们可以使用 escape() 函数对其链接中的参数值进行编码
当然,也可以使用unescape()对编码后的参数值进行解码
注意事项:
unescape()和escape()函数是一对互逆操作的函数
例:
function urlBuild()
{
var n = "中文值";
location.href = "maomaotest.aspx?n="+escape(n);
}
string n = Request.QueryString["n"];
Response.Write(Server.UrlDecode(n));