IE6中URL传值出现乱码

最近写的一个程序,遇到了这个问题:
页面A是选择地区:由于一个省市列表没有存数据库,是用js的数组在维护.
因此选择好地区后跳转下一页,需要把地区的中文传过去,而且js最方便就是通过url(get方法)传过去.
测试的时候,发现在IE6下传中文的话,只能传2个字,第三个字开始就乱码.而IE7和ff就没有问题.
一开始我们怀疑是vs自带的端口服务器不支持中文,换到iis中文版下仍然不行.
最后发现用不同的客户端连接,会出现不同的结果,因此应该是浏览器的问题.
浏览器发送请求的时候,编码不同.
去网上搜索解决方案,有人说转成拼音,有人提供了url加密和解密的js类--但是都不行. 比如,js 中提供的urlEncode并不能用.net中的urlDecode解密.
最后,在ms的官方论坛发现,可以在web.config中设置发送请求的默认编码:
注意:重点是RequestEncoding:
    <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" uiCulture="zh-CN" responseHeaderEncoding="gb2312" fileEncoding="gb2312" />

 

 

建议:URL传值不要传汉字。(首先可能会出现浏览器兼容问题,另外就是不安全) 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值