老杂毛博客
  青青子衿,悠悠我心。但为君故,沉吟至今。
博客首页 | 人生历程 | 编程开发 | 机关门  
  文章分类
 
博客首页 > 软件网络编程 > 文章正文

Asp.net中Request.Form乱码的问题

2010/11/29 23:06:06
 

       前些日子为减少服务器cpu的负荷,将所有的产品页面升级为静态html的,但页面上有留言的功能。这时候就需要向动态的aspx页面发送请求提交数据,而我在用一个aspx页面获得数据写入数据库发现,竟然带有中文的全部显示为乱码,于是看了一下html页面编码,gb2312的。

       然后将需要提交的aspx页面也加了一个meta声明为gb2312的,测试了一下没管用,于是去google了一下,结果发现很多人遇到我这个问题,看到一篇文章说将在需要提交表单的页面page_load里加上

Response.ContentEncoding = Encoding.GetEncoding("gb2312");

这样的声明,而且他还在博客里刻意强调一定要加在提交表单的页面里,如果加在接受的页面里则无效,而我的提交页面是html的,根本没有办法加代码,于是放到了接收页面里,结果果然无效。

      忽然间想到,是不是应该修改一下web.config文件,让网站统一编码,于是谷歌了一下得到节点增加语法为:

      #lt;globalization requestEncoding="GB2312"
         responseEncoding="GB2312"
         fileEncoding="GB2312"
         culture="zh-CN"
         uiCulture="zh-CN"/#gt;

      于是将此代码增加到web.config的system.web节点下,再次输入中文测试,成功获得,不再乱码。

希望有遇到和我一样问题的朋友能在这里找到你想要的答案,具说如果以上方法不管用,可以在得到的时候HttpServerUtility.HtmlDecode,用这个方法解密,对此我没有做过测试,因为前面的页面无法加密,我想在这里解密应该也没用吧。

这个问题最重要的是两边统一编码,只要编码统一基本就没有问题了。asp.net默认好像是utf-8编码,所以如果都用默认的话应该不会出现这样的问题。如果一但哪些页面自己声明了编码则有可能造成这样的问题出现,这时候就按上面说的统一一下编码应该就会好了。(老杂毛/文)

阅读: (2499)  评论(7)  
 
网友评论:
 
 1.艺术博客2010/11/30 20:20:04 
艺术博客http://www.dnfwaiguaw.com
沙发
 2.Aliyev2012/2/9 11:21:25 
Smack-dab what I was lokonig for-ty!
 3.Trapti2012/2/11 9:33:03 
That's cleared my thoughts. Thanks for contirbtuing.
 4.2016/7/1 8:28:40 
 5.2016/7/12 7:42:30 
 6.2017/10/21 1:16:03 
 
相关文章:
 微信支付asp.net V3.3.7 sys
 ERRORLOG 文件太大的处理办法
 Attempted to read or w
 Ctrl键自动按下,Ctrl键和Alt总感觉
 解决 Your project contai
 adb install 多设备id号一样,如
 如何去掉优酷,土豆等网站的广告?
 webview的loadData方法加载乱码
 让iis7支持apk文件下载
 sql利用游标循环,遍历表循环结果集
 
 
     
联系作者: QQ: 657603425 Email: 657603425@qq.com
Copyright © 2007-2014 www.laozamao.com All Rights Reserved
京ICP备09002242号 北京海淀分局备案号:1101084842