关于URL中参数乱码、空格的问题

1.url中传递参数时,尤其是中文参数时,往往在IE浏览器下会出现乱码,以致所传参数无法使用的问题。可以进行如下解决:

var user_say = encodeURIComponent(encodeURIComponent("您好!<br/>感谢您对我的关注,您将优先获知我发布的高薪职位等信息。关注功能仅对登录后的注册会员开放。"));

会看到有两个encodeURIComponent进行编码,有时编码一次时还是乱码,可以编码两次。不过目前来看,编码一次即可。

2.关于一些url中传递参数有空格的处理:

hjobtitle=+encodeURIComponent(hjobtitle.replace(/ /g, "%20"))

从上面的例子中可以看到可以用:replace(/ /g, "%20")来替换url中参数的空格。经查:url中的空格可以用+或者%20代替

3.

页面编码格式是gbk,在ajax提交数据时出现了浏览器兼容问题:

firefox可以正常使用UTF-8的格式提交数据,而IE提交后显示的是乱码。

解决办法:

为jQuery的ajax请求设置默认的提交字符集格式

$.ajaxSetup(\{"contentType": "application/x-www-form-urlencoded; charset=UTF-8"});

猜你喜欢

转载自bluetaoren.iteye.com/blog/1230951