日期:2014-05-16  浏览次数:20729 次

extjs 通过ajax往后台传json中文乱码 - Web 开发 / Ajax
如题。jsp代码如下
JScript code
Ext.Ajax.request({
                                                                     //method:'POST',
                                                          //defaultHeaders :'UTF-8',
                                                                     url:'../system/sysparamList.do?flag=savaGrid&treeid='+Ext.get('tree_id').value,
                                                                     success:function(response){
                                                                           Ext.Msg.alert('信息',response.responseText,function(){
                                                                                 ds.reload();
                                                                                 })},
                                                                       failure:function(){
                                                                                 Ext.Msg.alert("错误","操作失败");
                                                                                 },
                                                                      params:{jsonArray:encodeURIComponent(Ext.encode(jsonArray))}
                                                                //params:{jsonArray:encodeURI(jsonArray)}
                                                             });

jsonArray中有中文时是乱码。
jsp页面设置的是utf-8。传到action中解码后是乱码。求助

------解决方案--------------------
escape()2次
params:{jsonArray:escape(escape(Ext.encode(jsonArray)))}
到后台再用java unescape()一次, unescape()函数网上找一下