前提:我的项目中用gbk编码,这个是不能改的
查询模块中,用 Ext.data.Store var store = new Ext.data.Store({......}); var search = function() {
//text_search_title 是查询文本框,此处的值还是gbk的,不是乱码
store.baseParams.conditions = text_search_title.getValue();
store.load({params : {start :0,limit : 15}});
}
但是ext 内部使用的是utf-8编码,这样乱码就产生了,请问,有什么办法解决这个问题吗?
查询模块中,用 Ext.data.Store var store = new Ext.data.Store({......}); var search = function() {
//text_search_title 是查询文本框,此处的值还是gbk的,不是乱码
store.baseParams.conditions = text_search_title.getValue();
store.load({params : {start :0,limit : 15}});
}
但是ext 内部使用的是utf-8编码,这样乱码就产生了,请问,有什么办法解决这个问题吗?
1.只转ext 使用部分的
2.使用部分过多都通过配置设置转变项目的(不改变你的项目硬设置的情况下)
var search = function() {
store.baseParams.conditions = encodeURIComponent(text_search_title.getValue());
store.load({params : {start :0,limit : 15}});
}
在action 中,取ext传得值时,再处理一下:String name = request.getParameter("conditions");
name =java.net.URLDecoder.decode(name , "utf-8");就可以了