解决方案 »

  1.   

    用utf8格式传数据一了百了,不需要encode(另外可以自己写个给关键字“ ‘ 之类加反斜杠和取消反斜杠的函数)
      

  2.   

    额。。不是加反斜杠,是替换成html编码字符
      

  3.   

    Base64Util.encode(string.getBytes("utf-8")).toString();这是我在url中的加密方法,一般情况下是不需要加密的,出现汉字感觉是不行。
      

  4.   

    看成json力encode了
    不过你要弄得URL这么复杂的话,是考虑方向错了吧。先说说要这么做是什么需求
      

  5.   

    需求很简单,因为会有人为修改URL的情况。所以,URL的参数部分有可能是后来被修改过的,所以无法保证前面部分encode了多少次,后面部分encode了多少次,现在需要把这个URL前部decode,用作分析,就出现了上述为题。(参数部分&utm_medium=ppc&utm_campaign=Toyota Comp. Conquest- 21%, 因为这个% 而不能被无限次decodeURIComponent)
      

  6.   

    你真的想这么摆弄url的话,我觉得可以做冗余校验,就是最初设一个能被编码特殊字符串,每次解码时候indexOf判断有没解码出这个特殊字符串。仅供参考