前端传参数到java后台乱码解决方案

来源:互联网 发布:淘宝旺铺模板管理在哪 编辑:程序博客网 时间:2024/06/06 02:13

这是本人自己开发经验以及从网上罗列的一些解决方法:
前端提交类似这样的数据:
upProject!ajaxcheckTime.action?reservename=”+encodeURIComponent(reservename)+”&reservestart=”+reservestart+”&reserveend=”+reserveend

  • 1:页面到Action
    分别在 jsp,struts.xml,以及tomcat的conf文件夹下找到server.xml中配置如下:
jsp:<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>struts.xml:<constant name="struts.i18n.encoding" value="UTF-8"></constant>server.xml:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"    redirectPort="8443" URI="UTF-8"/>
  • 2:添加到数据库的时候是乱码
    配置数据源的指定连接格式,并且数据库的属性中字符集编码也为utf-8
<property name="url" value="jdbc:mysql://192.129.139.25:3306/ssm?characterEncoding=UTF-8&amp;characterSetResults=UTF-8"/>
  • 3:若前面两种还是不行的话,试试在js中以及后台进行转码
js:var reservename=encodeURIComponent(JSON.stringify(result),"utf-8");//这里将对象转换为json格式,然后在用encodeURIComponent来设置编码后台java:String reservename = request.getParameter("reservename");studentRuselt=URLDecoder.decode(reservename,"UTF-8");

应该常见的就这些了吧~~

1 0
原创粉丝点击