1. 程式人生 > >asp頁面和Asp.net頁面傳中文引數UrlEncode編碼以及接收解碼

asp頁面和Asp.net頁面傳中文引數UrlEncode編碼以及接收解碼

在asp中加一個連結,指向asp.net網頁,但asp.net的網址是經過HttpUtility.UrlEncode轉換和HttpUtility.UrlDecode解碼的,而asp的server.urlencode卻和HttpUtility.UrlEncode的編碼方式不一樣,

舉例:asp.net用Get方式傳輸的URL為:"WebPage.asp?str="+HttpUtility.UrlEncode(str) 
,解碼方式為HttpUtility.UrlDecode(Request.QueryString["str"].ToString().Trim()) 
asp的Get方式傳送為"webPage.aspx?str="+server.urlencode(str) 兩種編碼不統一

解決方案:在asp使用Get方式傳送"WebPage.aspx?str="+server.urlEncode( server.URLpathencode(str)) 
asp.net GET方式傳送引數:"WebPage.aspx?str="+ HttpUtility.UrlEncode( str,System.Text.Encoding.GetEncoding("gb2312")) 
asp.net GET方式接收引數:str= HttpUtility.UrlDecode(Request.QueryString["str"].ToString().Trim(),System.Text.Encoding.GetEncoding("gb2312"))