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

这是本人自己开发经验以及从网上罗列的一些解决方法:
前端提交类似这样的数据:
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");

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

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值