我在后台用URLEncoder.encode("测试","GBK");方法,将"测试"转换成了"%B2%E2%CA%D4"
那么用JS如何将"%B2%E2%CA%D4"再转换成"测试"?

解决方案 »

  1.   

    我自己解决了
    后台改为URLEncoder.encode("测试","GBK")
    JS转换为:decodeURI("要转换的字节码");
    不过有个问题,当URLEncoder.encode(str,"GBK")中str含有:的时候好像转不回来(例如"D:\\test"),不知道为什么.
      

  2.   

    你后台应该使用 
    java.net.URLEncoder.encode("测试","UTF-8").replace("+", "%20");因为 javascript 的 decodeURIComponent 和 decodeURI 都是按 UTF-8 字符集解的.URLEncoder.encode 把空格编为 "+", 但 decodeURIComponent 不把 "+" 解为 空格
      

  3.   

    应该使用decodeURIComponent 解码
    而不是
    decodeURI