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