首页新闻找找看学习计划

ashx 传递中文参数乱码

0
悬赏园豆:20 [已关闭问题] 关闭于 2016-03-23 09:18

是通过ashx?param=中文 这样传递参数

ie和火狐分别调试,ie正常,则火狐不正常,反过来也是一样。请问怎么能够通用,在服务器端都能获取到正确的中文,因为这个是接口,所以客户端不一定用js调用,现在是在2个浏览器直接输入中文测试,就不行。

ash
清海扬波的主页 清海扬波 | 小虾三级 | 园豆:813
提问于:2016-03-21 15:18
< >
分享
所有回答(3)
0

urlencode 中文

 

传中文 记得编码

小眼睛老鼠 | 园豆:2774 (老鸟四级) | 2016-03-21 15:19

别人调用我的接口,如果我设置了

context.Request.ContentEncoding = Encoding.GetEncoding("GB2312");

ie下正常,火狐是乱码,屏蔽这段,则相反。

支持(0) 反对(0) 清海扬波 | 园豆:813 (小虾三级) | 2016-03-21 15:44

@清海扬波: 

http://www.cnblogs.com/dabaopku/archive/2012/02/27/2370446.html

 

http://www.w3school.com.cn/jsref/jsref_encodeuri.asp

支持(0) 反对(0) 小眼睛老鼠 | 园豆:2774 (老鸟四级) | 2016-03-21 15:46

@小眼睛老鼠: 看了,还是没解决,发现context.Request.RawUrl 里面汉字是正常的。

支持(0) 反对(0) 清海扬波 | 园豆:813 (小虾三级) | 2016-03-21 16:06

@清海扬波: 你会不会编码啊 只要编码 参数就好了 不需要你编码 url

发送的位置 编码 接收的位置解码

支持(0) 反对(0) 小眼睛老鼠 | 园豆:2774 (老鸟四级) | 2016-03-21 16:08
0

在接收参数的时候也编码一下

心怀宇宙 | 园豆:622 (小虾三级) | 2016-03-21 15:47
0

最后是截取context.Request.RawUrl中的文字处理的,楼上说接收参数编码还是一样,因为是乱码,所以编码解码都是无效的。而浏览器地址栏输入中文参数转码是浏览器处理的,没法像ajax调用一样先编码,再解码。

清海扬波 | 园豆:813 (小虾三级) | 2016-03-23 09:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册