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

  • 相关阅读:
    递归
    排序算法的稳定性与复杂度总结
    二分查找
    希尔排序
    快速排序
    归并排序
    插入排序
    选择排序
    冒泡排序
    i2c_smbs 函数
  • 原文地址:https://www.cnblogs.com/caozx/p/9837222.html
Copyright © 2011-2022 走看看