asp.net ajax json 传中文值url解码问题

我在本地上调试测试没有任何问题,为什么上传到服务器上去就有问题呢?传递过来都中文参数不能解码,索取不了数据呢?
上面这个是本地上传测试都调试的,都是正常都,可是我上传到服务上去之后,
数据库这些都是配好的,数据也是一模一样都,其他都数据都能索取出来,就是中文参数经过了URL编码,可是我后台代码也写了URL解码的代码,,本地上都OK,可为什么上传到服务器上了还是不行呢?求解?

一摸一样的,在本地上没有任何问题,到服务器上就有问题,到底是什么问题呢?是代码问题还是服务器配置问题呢?

Request.Parms[]在获取数据的时候,会自动调用HttpUtility.UrlDecode()进行解码,所以你这里可以把自己解码的代码删除,试一下。

还有就是不推荐你这种获取数据的方式。
post:Request.Form[key]
get:Request.QueryString[key]

Request.Parms[key],会把get、post提交的数据合并为一个新集合,然后查找。如果get中有一个key为abc,value:123,post中也有一个key为abc,value:456。
那么你将得到123,456
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-17
1 设置web.config

<system.web>
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
fileEncoding="utf-8"
/>
</system.web>
如果相应使用gb2312 ,则html页面也要设置相同,解决乱码。

如果为 utf-8 ,则相应的html文件的属性要转换成utf-8保存,这样
可以解决字符串变量赋值,输出的时候乱码问题。

2. 上面若还不行,就在写入josn时编码,使用时再解码
中文转Unicode:HttpUtility.UrlEncodeUnicode(string
str);

Unicode转中文:HttpUtility.UrlDecode(string
str);
第2个回答  2015-08-17
Request.Parms[]在获取数据的时候,会自动调用HttpUtility.UrlDecode()进行解码,所以你这里可以把自己解码的代码删除,试一下。
相似回答