程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> .Net獲取URL中文參數值的亂碼問題解決方法總結

.Net獲取URL中文參數值的亂碼問題解決方法總結

編輯:ASP.NET基礎

本文總結分析了.Net獲取URL中文參數值的亂碼問題解決方法。分享給大家供大家參考,具體如下:

解決方法:

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.JS傳中文參數:

function GoUrl(){
var Name = "中文參數";
location.href = "B.aspx?Name="+escape(Name) ;
}

string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name)) ;

總結:

一般來說。設置web.config文件就可以了。但是如果你用 JavaScript 調用 webservice 方法的話(往webservice裡面傳遞中文參數)。設置 web.config 文件好象無效。

或用:

Response.Redirect("test1.aspx?111="+System.Web.HttpUtility.UrlEncode("中華人明共和國")) ;
//建議使用最後如果是從其他的頁面獲取中文參數沒有亂碼,那就更簡單了
string message ="http://localhost/Test/test1.aspx?111="+System.Web.HttpUtility.UrlEncode("中華人明共和國");

http:

//你要獲取某個頁面的返回值的地址"
//發送請求
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(message) ;
//接受請求
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse() ;
Stream receiveStream = myHttpWebResponse.GetResponseStream() ;
StreamReader readStream = new StreamReader(receiveStream, System.Text.Encoding.GetEncoding("GB2312")) ;
//此為要取頁面的返回值輸出的返回結果
returnValue = readStream.ReadToEnd();

更多關於asp.net相關內容感興趣的讀者可查看本站專題:《asp.net操作json技巧總結》、《asp.net字符串操作技巧匯總》、《asp.net操作XML技巧總結》、《asp.net文件操作技巧匯總》、《asp.net ajax技巧總結專題》及《asp.net緩存操作技巧總結》。

希望本文所述對大家asp.net程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved