浏览器发起Get,Post请求时候传递的参数编码问题

浏览器发起Get,Post请求时候传递的参数编码问题

 

最近开发一个网站的时候,用了很多ajax方法,在页面发起Get,post请求,中间自然捎带有很多参数,有中文,有英文,英文一般是不存在编码问题的,中文就可能出现乱码的问题。

本来以为是开发环境的问题,但是设置各种编码也没有正常解决问题。还是用编码的方式来解决。

 

这是我 跟踪到的现象和解决方法

 

1.火狐浏览器,Google chrome浏览器

在开发的时候,一直用火狐浏览器,各种Get,Post传递中文,英文参数都没有问题。

2.IE浏览器。

在后期做兼容测试的时候,真正发现问题了,IE浏览器中Get请求的时候必须对中文参数进行Js编码(escape等),这样传递到后台才能正确显示。

(/cs后台代码在接收已经经过js编码的参数时候,无需反编码,直接使用就是正常的)

但是在Post的时候不用js编码(escape),就可以正常编码的形态传递到后台,

如果你在post的时候故意用了js编码,到后台的时候反而会乱码。

 

 

 

posted @ 2013-09-03 14:49 音乐啤酒 阅读(...) 评论(...) 编辑 收藏