php ie 传中文乱码,IE下get传中文乱码的问题完美解决方案

前几天做项目的时候遇到需要在easyui的combobox的url中以get的方式传中文,出现乱码。

$('#cc').combobox({

url : 'xxxAction.action?para='+中文,

editable : false,

valueField : 'cityId',

textField : 'cityName'

});

到网上寻求解决方案。但基本就是那几种解决方案。

1.在Tomcat的server.xml文件Connector标签中加入URIEncoding= "UTF-8"。

2.在web.xml中加入spring处理中文的

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

true

encodingFilter

/*

3.用Java处理String乱码问题,String str= new String(req.getParameter("str").toString().getBytes("iso8859_1"), "UTF-8");

4.新建个过滤器。

以上4种方法我都试过,firefox和Chrome,都已经解决了,但是IE下死活就是不好使,乱码依然存在。

这时我第一个办法是,如果get不行,就改成post吧,只好改写combobox的方式,用combobox的loader功能。

$('#cc').combobox({

loader : function(param,success,error){

$.post(

"xxxAction.action",

{ provinceId: provinceId },

function(data){

success(data);

},

"json"

);

},

editable : false,

valueField : 'cityId',

textField : 'cityName'

});

后来跟同事一起讨论的时候,一位同事又给了我另一种解决方案,使用encodeURI

var url = encodeURI('xxxAction.action?para='+中文);

$('#cc').combobox({

url : url,

editable : false,

valueField : 'cityId',

textField : 'cityName'

});

还是第二种方式更简单,使用更灵活。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值