配置:tomcat 6 server.xml 已经设置Connector的RIEncoding="UTF-8"
web.xml 没 用org.springframework.web.filter.CharacterEncodingFilter,就是关了,在struts2好像没什么用
strutls.xml 设置
JSP是GBK的
JAVA是GBK的
JSP页面form submit中文都是正确的
自己写个ajax
var pars=Form.Element.serialize($('name'));
var url="<s:url action="getSuccess" ></s:url>";
if($F('name')==""){
return;
}
else{
var myAjax = new Ajax.Request(
url,{method:'get',
parameters:pars,
onLoading:showDiv,
asynchronous: true,
onComplete:showResponse});
}
就是UTF-8发送GET 中文也正确
我把方法改成POST就错误 改成
var pars='name=' + $F('name');
也不对
参数里面加encoding :'gbk' 也不可以
这个ajax的post的时候到底如何才能正确在java得到中文
按照本网的http://goby2008.iteye.com/blog/202796的方法 encodeURI2次或者再次encodeURI
后台URLDecoder.decode(name,"utf-8"); 就能正确得到
问题个人觉得是struts2/xwork2是在那里做了setCharacterEncoding