天天看點

html傳遞漢字參數轉換,url中如何傳遞中文資訊呢?

摘要:

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