asp.net 解码gb2312下urlencode后的字符串
公司網(wǎng)站前期的網(wǎng)頁用了gb2312保存用戶數(shù)據(jù),而我負(fù)責(zé)的部分用的是utf8,今天恰好要獲取前期錄入的數(shù)據(jù)于是毫無懸念地出現(xiàn)亂碼問題,經(jīng)過一番網(wǎng)上的搜索還是找不到完整解決方法,折騰好一段時(shí)間終于通過下面的例子推出了問題的所在:
這樣的一個(gè)業(yè)務(wù),客服用gb2312編碼后 提交服務(wù)器,服務(wù)器接收時(shí)出現(xiàn)亂碼,用System.Web.HttpUtility.UrlDecode();解碼 ,還是出現(xiàn)亂碼,困老了我好長(zhǎng)時(shí)間,終于在google上找到了解決辦法。
解決方案:
HttpUtility.ParseQueryString(Request.Url.Query, System.Text.Encoding.GetEncoding("GB2312"))["message"];--其中message就是你接收的參數(shù).
于是了解到UrlEncode是基于頁面的編碼方式,那么前期保存到的數(shù)據(jù)時(shí)基于gb2312來UrlEncode的,所以在utf8頁面解碼時(shí)要指定用gb2312的方式來解碼。否則會(huì)默認(rèn)使用頁面的編碼方式來解碼,不亂碼才怪呢。。。。。。
具體做法:
System.Web.HttpUtility.UrlDecode("需解碼的GB2312編碼字符串",Encoding.GetEncoding("gb2312"));
如果您覺得本文的內(nèi)容有趣就掃一下吧!捐贈(zèng)互勉!
本文轉(zhuǎn)自^_^肥仔John博客園博客,原文鏈接:http://www.cnblogs.com/fsjohnhuang/archive/2011/12/07/2278851.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的asp.net 解码gb2312下urlencode后的字符串的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Direct2D教程(一)Direct2
- 下一篇: 关于Flex-Mvc的几个框架的简单介绍