Dancie2002 2008-08-20 17:22
浏览 161
已采纳

struts2+prototype AJAX POST乱码,怎么解决

配置: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

  • 写回答

1条回答 默认 最新

  • sunjhgq 2008-08-20 23:06
    关注

    建议楼主看看http://www.iteye.com/topic/157698这个。
    ajax的post提交是采用UTF-8来处理的,而且它会经过CharacterEncodingFilter来编码的。
    如果不行你试试在encodeURI(pars),对参数进行编码试试。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟