zoukankan      html  css  js  c++  java
  • encodeURIComponent编码java后台解码出现乱码问题

    问题:JavaScript请求后台带着name参数,有中文进行编码:url?name=" + encodeURIComponent(name);java后台直接使用name或者name=java.net.URLDecoder.decode(name,"UTF-8")进行解码使用都是乱码。

    解决方法一:

    JavaScript:

    window.location.href="/url?name="+encodeURIComponent(encodeURIComponent(name));

    java:

    name=java.net.URLDecoder.decode(name,"UTF-8");

    为什么要两次编码的原因:后台java代码给searchtext赋值的时候,本身已经使用了一次解码,不过解码的结果依然不对。所以我们可以在页面上进行两次编码操作,这样后台自动的那次就可以抵消掉一次,然后在使用searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8");进行一次解码就好了。

    解决方法二:

    另外还有一种方法是JavaScript进行一次编码,后台java处理时换种想法就好了:

    java代码:

    String name = new String(name.getBytes("ISO8859-1"), "UTF-8");

    这个问题跟我之前的博客内容有些关联:https://www.cnblogs.com/caozx/p/9628576.html

  • 相关阅读:
    Vue 备
    mac 下如何建立vue-cli项目
    24,25-request对象
    nodejs 备忘
    nodejs中mysql断线重连
    创建node.js,blog
    Mac 升级node与npm
    js 弹出层,以及在javascript里定义层样式
    js 光标选中 操作
    js 捕获型事件
  • 原文地址:https://www.cnblogs.com/caozx/p/9837222.html
Copyright © 2011-2022 走看看