bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

怎么解決Web亂碼的問題

本篇文章為大家展示了怎么解決Web亂碼的問題,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

玉泉網站建設公司創新互聯公司,玉泉網站設計制作,有大型網站制作公司豐富經驗。已為玉泉上1000家提供企業網站建設服務。企業網站搭建\成都外貿網站建設要多少錢,請找那個售后服務好的玉泉做網站的公司定做!

Web數據提交有兩種方法:GET 和 POST。關于這兩種方法的介紹,請看這里:Http之Get/Post請求區別。我在這里要介紹的是如何在程序中獲取HTTPRequest數據,并成功解決編碼不同時所引起亂碼的問題。

現在我們開始,先看一段HTML代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>無標題文檔</title> </head>  <body>     <form id="myForm" action="http://localhost:9000/WebForm1.aspx" method="post">         名稱:<input tyep="text" name="name" width="200px" value="獨釣寒江"/>         <br />         年齡:<input tyep="text" name="age" width="200px" value="24"/>         <br />         <br />         <input type="submit" value="提交" />     </form> </body> </html>

在這個HTML文件中,我們使用的編碼是GB2312,Form表單中包含name和age兩個數據。首先將method設置為GET方法:

<form id="myForm" action="http://localhost:9000/WebForm1.aspx" method="GET">

另外我們再新建一個Web應用程序,并在本地新建一個站點,將端口設置為9000,添加一個頁面,名稱為WebForm1.aspx,也就是上面Form表單中的action所指向的地址http://localhost:9000/WebForm1.aspx

在點擊“提交”按鈕的時候,我們可以在WebForm1中獲取到網頁的參數,具體有如下幾種方式:

Request["name"]  Request.Params["name"]  Request.QueryString["name"]

這三種方法得到的字符串都是經過默認編碼轉換的,因為我們使用vs建立項目時編碼默認為UTF-8,所以這時便會出現亂碼。這是***種問題,稍候我們將解決這個問題。

接下來將method設置為POST方法:

<form id="myForm" action="http://localhost:9000/WebForm1.aspx" method="POST">

在點擊“提交”按鈕的時候,我們可以在WebForm1中獲取到網頁的參數,具體有如下幾種方式:

Request["name"]  Request.Params["name"]  Request.Form["name"]

和***種問題相同,經過默認的UTF-8轉換,這里還會出現亂碼。這是第二種問題。

問題一的解決方法:

StringBuilder sb = new StringBuilder();  IServiceProvider provider = (IServiceProvider)HttpContext.Current;  HttpWorkerRequest worker = (HttpWorkerRequest)provider.GetService(typeof(HttpWorkerRequest));  byte[] bs = worker.GetQueryStringRawBytes();  String queryString = Encoding.GetEncoding("GB2312").GetString(bs);  NameValueCollection querys = HttpUtility.ParseQueryString(queryString, Encoding.GetEncoding("GB2312"));   foreach (var item in querys.Keys)  {      sb.AppendFormat("{0}:{1}<br />", item.ToString(), querys[item.ToString()]);  }

問題二的解決方法:

// 獲取到InputStream  System.IO.Stream str = Request.InputStream;  Int32 strLen, strRead;  strLen = Convert.ToInt32(str.Length);  byte[] strArr = new byte[strLen];  strstrRead = str.Read(strArr, 0, strLen);                string queryString = HttpUtility.UrlDecode(strArr, System.Text.Encoding.GetEncoding("GB2312"));   NameValueCollection querys = HttpUtility.ParseQueryString(queryString, Encoding.GetEncoding("GB2312"));   foreach (var item in querys.Keys)  {      sb.AppendFormat("{0}:{1}<br />", item.ToString(), querys[item.ToString()]);  }

另外,對于***種方法,還可以直接將URL用GB2312解碼,這里不再貼出代碼。

有了這兩種方法,不管是怎樣的亂碼,都可以高枕無憂了。

上述內容就是怎么解決Web亂碼的問題,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。

本文標題:怎么解決Web亂碼的問題
網頁地址:http://vcdvsql.cn/article32/pegcsc.html

成都網站建設公司_創新互聯,為您提供用戶體驗定制開發建站公司微信小程序商城網站動態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都seo排名網站優化