Hopes

          Start Here..

           

          ASP.NET中的URL編碼解碼

          ASP.NET中的URL編碼解碼

          今天項(xiàng)目需要向asp的客戶url Post數(shù)據(jù),可是url中文就是不行. 搞了一個(gè)下午是asp 和asp.net 的url編碼不一樣的事:

          先看下面兩個(gè)Url,他們傳遞的參數(shù)一樣么?
          aaa.aspx?tag=.net%bc%bc%ca%f5
          aaa.aspx?tag=.net%e6%8a%80%e6%9c%af

          看起來(lái)好像是不一樣,其實(shí)他們都是對(duì)".net技術(shù)"進(jìn)行了UrlEncode,不過(guò)一個(gè)是GB2312的編碼,一個(gè)是Utf-8的編碼。
          如下代碼就可以獲得上面的編碼后效果:

          string tmp1 = System.Web.HttpUtility.UrlEncode(".net技術(shù)", System.Text.Encoding.GetEncoding("GB2312"));
          string tmp2 = System.Web.HttpUtility.UrlEncode(".net技術(shù)", System.Text.Encoding.UTF8);

          我們實(shí)際的Web頁(yè)面,可能會(huì)被其他程序調(diào)用。
          比如:簡(jiǎn)體中文操作系統(tǒng)上的一個(gè)ASP頁(yè)面,需要向一個(gè)ASP.net頁(yè)面?zhèn)鬟f一個(gè)帶中文的參數(shù)。
          默認(rèn)情況下,簡(jiǎn)體中文操作系統(tǒng)上, ASP 的 Server.UrlEncode 方法會(huì)把中文以GB2312的編碼進(jìn)行編碼,
          但是默認(rèn)情況下,ASP.net的頁(yè)面是采用的UTF-8編碼。
          這種情況下,你在用 Request.QueryString["Tag"] 接受值的時(shí)候會(huì)接受不到中文信息,單步調(diào)試看到的是亂碼。
          這時(shí)候雖然用Request.QueryString["Tag"] 接受的是亂碼,但這時(shí)候的Url并不是亂碼。

          解決方法就是自己分析Url中的參數(shù),然后對(duì)參數(shù)的值按照 GB2312的編碼反解密,而不是用.net 默認(rèn)的Utf-8的編碼反解密。

          還有:.net 中有Server.UrlEncode()System.Web.HttpUtility.UrlEncode() 都可以編碼.

          區(qū)別在于:HttpUtility.UrlEncode()默認(rèn)是以UTF8對(duì)URL進(jìn)行編碼,而Server.UrlEncode()則以默認(rèn)的編碼(頁(yè)面編碼一般為utf-8)對(duì)URL進(jìn)行編碼。

          c#asp.net url 傳遞中文參數(shù)要使用 System.Web.HttpUtility.UrlEncode 而不能使用Server.UrlEncode !!!

          默認(rèn)aspx是以u(píng)tf-8為編碼的,在我這個(gè)程序中必須用gb2312為默認(rèn)編碼
          (<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>)

          posted on 2012-08-18 22:13 ** 閱讀(9105) 評(píng)論(2)  編輯  收藏

          評(píng)論

          # re: ASP.NET中的URL編碼解碼 2014-08-05 16:50 解碼

          解碼  回復(fù)  更多評(píng)論   

          # re: ASP.NET中的URL編碼解碼 2014-11-27 07:46 zhouq123

          lao shi shu qian wo yao yang qian  回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          你好!

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          相冊(cè)

          收藏夾

          C#學(xué)習(xí)

          友情鏈接

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 沈丘县| 平舆县| 余姚市| 佛山市| 扶绥县| 无为县| 靖边县| 扶风县| 太和县| 武强县| 瓦房店市| 隆尧县| 南川市| 类乌齐县| 澄江县| 庆安县| 鄂州市| 白河县| 普安县| 叙永县| 江油市| 大足县| 多伦县| 巴青县| 石泉县| 上高县| 齐河县| 英吉沙县| 利川市| 杭锦后旗| 南华县| 凉山| 闽清县| 林周县| 剑河县| 射阳县| 富裕县| 和田市| 佛山市| 洪雅县| 甘泉县|