项目中采用extjs 的Ajax向后台传参数,整个项目采用GBK作为统一编码方式
Ext.Ajax.request({
url: '<%=contextPath%>/inditionBrowse/saveQueryMsg.action',
params: {
journalingName:Ext.get('saveName').dom.value,
},
success: function(response, options) {
var responseArray = Ext.util.JSON.decode(response.responseText);
if(responseArray=="1")
Ext.Msg.alert('提示','保存成功!!!');
else
Ext.Msg.alert('提示','保存失败!!!');
winSave.close();
win.close();
}
});
journalingName如果指定为 “值值值值”
后台在struts2中,通过request.getParamter()得到参数值,出现了中文乱码:“鍊煎�煎�煎��",
直接采用journalingName=new String(journalingName.getBytes("GBK"),"UTF-8");
得到的值为 乱码:”值�?��?��??“
请问该如何采用解决这个乱码问题???
你web.xml非得用GBK的,而且你还要用ext Ajax提交,这样就出现了不可调和的矛盾,起码对我们菜鸟来说。ext默认是utf-8的,和我前段时间遇到的问题几乎一样。
http://andy-javahome.iteye.com/blog/825768 这是我写的一个解决办法看对你有用否
看你filter里面是不是配置的GBK,一般在WEB.XML里。你可以把工程改成utf-8的
指定 post method !
method : 'POST',
ajax 只支持UTF-8