解决ajax get方式提交中文参数乱码问题


最近在工作中遇到,使用ajax get方式提交中文参数的时候出现乱码,通过上网搜索,总结出比较简单的两种解决方案

  第一种,由于tomcat默认的字符集是ISO-8859-1,修改Tomcat中的server.xml,在port为8080(也可以是不同的端口)的Connector中加入属性: URIEncoding="UTF-8"  就可以了。

这样在ajax的url中参数,或type为get的时候在data中的参数,在后台获取都不会再后台出现乱码了。不用在后台使用转码的代码都行了。

  第二种,对需要传递的中文参数先进行两次转码:

    1.js文件中使用encodeURI()方法。

      var url = "<%=bathPath%>/department/list?keyword=" + encodeURI(encodeURI(keyword));   

有的时候是这样(我遇到了):var url = "<%=bathPath%>/department/list?keyword=" + encodeURI(keyword);   

    2.在后台中对传递的参数进行URLDecoder解码

      String keyword= URLDecoder.decode(request.getParameter("keyword"),"UTF-8");

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM