首页 > 其他 > 详细

【乱码】Request QueryString 编码,传值乱码的几种情况和解决办法(单页,多页)

时间:2014-04-16 16:33:42      阅读:479      评论:0      收藏:0      [点我收藏+]

自己的项目还好,合作接口神马的传值乱码是很常见的。

遇到了几次这种恶心情况,积累了一点经验,有不对的地方欢迎指正。

 

乱码原因:

一般来说,常用的编码不是utf-8就是gb2312,虽然都是一样的 HttpUtility.URLEncode("北京"),

但是gb2312编出来是这样:%B1%B1%BE%A9

utf-8编出来是这样:%E5%8C%97%E4%BA%AC

所以他们解码的时候必然不一样~

 

解决办法:

确认请求方和接收方的编码格式一致。

只要接收方和请求方的编码格式一样就可以。

在web.config里 <configuration>标签中的<system.web>里,指定:requestEncoding

整个项目的指定:

 <system.web>
      <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN" fileEncoding="utf-8" />

 </system.web>


单个页面的指定:

bubuko.com,布布扣
< location path="bu.aspx">   
<!--
            path是页面路径
 -->
< system.web> < globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8"/> < /system.web> < /location>
bubuko.com,布布扣

 


诊断依据:

引起乱码原因很多,不是所有情况都需要修改配置文件,那什么时候需要修改web.config呢?

以“北京”的gb2312编码为例

比如:传来的Querystring是 city=%B1%B1%BE%A9  页面接收的 Querystring["city"] 也是 %B1%B1%BE%A9 那很可能是Decode解码的问题,无需改web.config。

比如:传来的Querystring是 city=%B1%B1%BE%A9  页面收到的 Querystring["city"] 却变成 %u92BD%u9D95%u7306(类似这种,这只是例子)

   明显编码就不一样了好伐!这种收到时候未经处理(指自己手动处理)编码改变的情况,一般需要修改web.config设置。

 

【乱码】Request QueryString 编码,传值乱码的几种情况和解决办法(单页,多页),布布扣,bubuko.com

【乱码】Request QueryString 编码,传值乱码的几种情况和解决办法(单页,多页)

原文:http://www.cnblogs.com/hydor/p/3664588.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!