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

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

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

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

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

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

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

網(wǎng)頁(yè)的編碼,一是接收請(qǐng)求數(shù)據(jù)(requestEncoding)的編碼,一是發(fā)送響應(yīng)(responseEncoding)的編碼。只要讓a頁(yè)面發(fā)送響應(yīng)的編碼,b頁(yè)面接收請(qǐng)求的編碼一致,即可解決亂碼問(wèn)題。

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

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

可能你會(huì)有意見(jiàn),說(shuō),反過(guò)來(lái)設(shè)置b頁(yè)面接收請(qǐng)求的編碼與a頁(yè)面發(fā)送響應(yīng)的一致,行不行呢。我試過(guò)了,不行,代碼見(jiàn)下,如果你知道其中原理,煩請(qǐng)告知,不勝感激!
復(fù)制代碼 代碼如下:

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

相關(guān)文章

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

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

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

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

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

    Asp.Net網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)的優(yōu)化措施與索引優(yōu)化方法

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

    Asp.NetCore3.1開(kāi)源項(xiàng)目升級(jí)為.Net6.0的方法實(shí)現(xiàn)

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

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

    PageMethods未定義或?qū)ο蟛恢С执藢傩曰蚍椒ń鉀Q方法,需要的朋友可以參考下。
    2010-12-12
  • asp.net實(shí)現(xiàn)中英文多域名檢測(cè)的方法

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

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

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

    我們要進(jìn)行微信公眾平臺(tái)的開(kāi)發(fā),第一步當(dāng)然是要有公眾號(hào)了。什么?不知道什么是微信公眾號(hào),看來(lái)你還要先回爐煉煉了,呵呵。通俗的說(shuō),我們微信平臺(tái)就好像是一個(gè)大社會(huì),里面有個(gè)體人,也有各種組織機(jī)構(gòu)。
    2016-05-05
  • .Net?Core?進(jìn)程守護(hù)之Supervisor使用詳解

    .Net?Core?進(jìn)程守護(hù)之Supervisor使用詳解

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

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

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

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

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

最新評(píng)論