欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET中Request.Form中文亂碼的解決方法

 更新時間:2011年03月28日 22:26:09   作者:  
一直以為,只有 Request.QueryString 接收url查詢字符串含中文時可能會亂碼(做好編解碼工作,很容易可以避免),碰到的時候,才知道 Request.Form 接收表單的值中含中文也會亂碼,以前真是很傻很天真很無知。
背景

涉及到兩個網站的通信,網站A有一頁面a,用提交表單的方式,傳值到網站B的頁面b。網站A統(tǒng)一用UTF-8編碼,網站B統(tǒng)一用GB2312編碼。

web.config中編碼的設置
網站A:<globalization requestEncoding="UTF-8" responseEncoding="UTF-8" />
網站B:<globalization requestEncoding="gb2312" responseEncoding="gb2312" />
解決

網上搜索的結果,無非都是修改 web.config 文件的requestEncoding、responseEncoding之類的,這對我來說,純屬餿主意。加之網絡瘋狂地復制、粘貼、未驗證可行性等行為,一直令我發(fā)指,直接導致搜索結果千篇一律,找到的都是那幾篇文章,最氣憤的是其中的內容還是錯誤的。所以本人一直堅持,遇到的問題,確實驗證了可行,才在博客貼出,以免誤人誤己。(希望沒扯得太遠)

那就自己動動腦吧,稍微梳理下,其實這個過程很簡單,就是一個UTF-8的頁面發(fā)送數據到GB2312的頁面,由于編碼不同,出現(xiàn)亂碼很正常,解決方法自然是統(tǒng)一編碼。

網頁的編碼,一是接收請求數據(requestEncoding)的編碼,一是發(fā)送響應(responseEncoding)的編碼。只要讓a頁面發(fā)送響應的編碼,b頁面接收請求的編碼一致,即可解決亂碼問題。

代碼只有一句,在a頁面Page_Load方法中加入 Response.ContentEncoding = Encoding.GetEncoding("gb2312"); 即可。
復制代碼 代碼如下:

// 設置a頁面響應編碼為gb2312,保證與b頁面接收請求的編碼一致
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentEncoding = Encoding.GetEncoding("gb2312");
}

可能你會有意見,說,反過來設置b頁面接收請求的編碼與a頁面發(fā)送響應的一致,行不行呢。我試過了,不行,代碼見下,如果你知道其中原理,煩請告知,不勝感激!
復制代碼 代碼如下:

// 設置b頁面接收請求的編碼為utf-8,保證與a頁面響應編碼一致,但行不通,為何??
protected void Page_Load(object sender, EventArgs e)
{
Request.ContentEncoding = Encoding.GetEncoding("utf-8");
}

相關文章

  • ASP.NET實現(xiàn)的生成驗證碼功能示例【附demo源碼】

    ASP.NET實現(xiàn)的生成驗證碼功能示例【附demo源碼】

    這篇文章主要介紹了ASP.NET實現(xiàn)的生成驗證碼功能,結合實例形式較為詳細的分析了asp.net生成驗證碼的原理、步驟與相關實現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2017-07-07
  • asp.net?core?+?jenkins?實現(xiàn)自動化發(fā)布功能

    asp.net?core?+?jenkins?實現(xiàn)自動化發(fā)布功能

    這篇文章主要介紹了asp.net?core?+?jenkins?實現(xiàn)自動化發(fā)布功能,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Asp.Net網站優(yōu)化系列之數據庫的優(yōu)化措施與索引優(yōu)化方法

    Asp.Net網站優(yōu)化系列之數據庫的優(yōu)化措施與索引優(yōu)化方法

    索引的作用就類似于書的目錄,書的目錄會按照章節(jié)的順序排列,會指想某一張的位置。這樣如果在一本數百頁的書里面查找某個章節(jié)位置的時候,我們就可以只掃描書的目錄,掃描的范圍縮小了n倍,查詢的效率自然就提高了。
    2010-06-06
  • Asp.NetCore3.1開源項目升級為.Net6.0的方法實現(xiàn)

    Asp.NetCore3.1開源項目升級為.Net6.0的方法實現(xiàn)

    自從.Net6.0出來后,一直想之前開發(fā)的項目升級.Net6.0,本文就詳細的介紹一下如何將Asp.NetCore3.1開源項目升級為.Net6.0,感興趣的小伙伴們可以參考一下
    2021-12-12
  • "PageMethods未定義"或"對象不支持此屬性或方法"解決方法分享

    "PageMethods未定義"或"對象不支持此屬性或方法"解決方法分享

    PageMethods未定義或對象不支持此屬性或方法解決方法,需要的朋友可以參考下。
    2010-12-12
  • asp.net實現(xiàn)中英文多域名檢測的方法

    asp.net實現(xiàn)中英文多域名檢測的方法

    這篇文章主要介紹了asp.net實現(xiàn)中英文多域名檢測的方法,涉及asp.net針對URL中域名的解析及字符串操作相關技巧,需要的朋友可以參考下
    2016-08-08
  • 微信開發(fā)(一) asp.net接入

    微信開發(fā)(一) asp.net接入

    我們要進行微信公眾平臺的開發(fā),第一步當然是要有公眾號了。什么?不知道什么是微信公眾號,看來你還要先回爐煉煉了,呵呵。通俗的說,我們微信平臺就好像是一個大社會,里面有個體人,也有各種組織機構。
    2016-05-05
  • .Net?Core?進程守護之Supervisor使用詳解

    .Net?Core?進程守護之Supervisor使用詳解

    這篇文章主要介紹了.Net?Core?進程守護之Supervisor使用,Supervisor它可以很方便的監(jiān)聽、啟動、停止、重啟一個或多個進程,對.Net?Core?進程守護之Supervisor使用相關知識感興趣的朋友一起看看吧
    2022-04-04
  • 詳解ASP.NET Core 2.0 視圖引擎(譯)

    詳解ASP.NET Core 2.0 視圖引擎(譯)

    本篇文章主要介紹了詳解ASP.NET Core 2.0 視圖引擎(譯),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • ASP.NET?MVC實現(xiàn)多選下拉框

    ASP.NET?MVC實現(xiàn)多選下拉框

    這篇文章介紹了ASP.NET?MVC實現(xiàn)多選下拉框的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07

最新評論