前后台传中文参数乱码问题

乱码原因:

  在传参的过程中,由于参数的编码(如UTF-8、GBK等)不确定,以至于我们在后台接参的时候不知道要接受的参数是哪种编码格式,从而出现后台接收的参数出现乱码。

解决办法:

  在前端传参的时候先将参数进行编码,统一将多字节的参数转为Ascii字符串,然后由后台进行解码并指定你需要的编码,这样就能得到你想要的不乱码的参数了。

  示例:

    前端:

      var str = encodeURI(encodeURI("我不想乱码"));  //转码过后的中文参数

      var url = "/vehicleinfoAction!verifyPassed.action?str="+str; //上面参数传入后台

    后台:

      String str=request.getParameter("str");

      str= java.net.URLDecoder.decode(str,"UTF-8"); //这句话一定要,因为如果不写的,将会得到一个乱码的参数,这一定不是你想看到的。

 

  注:这里前端出现了两次转码,解释一下,因为将参数传入后台的时候我们的服务器tomcat会自动进行一次解码,而我们在后台接参的时候会手动解码一次,所以前端会进行两次转码。

      

      

转载于:https://www.cnblogs.com/dark-horse/p/5282915.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值