摘要:
下文講述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));