请问大家一个问题,在地址栏中的%25E4%25B8%25AD%25E5%259B%25这样的字符是UTF-8,还是其他编码,一般在地址栏中传递这样的中文参数采用什么样的编码,如何将这样的编码还原成中文,在java中有那样的方法让他们相互转换。谢谢!

解决方案 »

  1.   

    String oldStr = ... //假如这个字符串的编码为GBK
    String str = new String(oldStr.getBytes("GBK"), "UTF-8");
      

  2.   

    http://topic.csdn.net/u/20090714/19/aede9f52-14af-46d7-8466-913f80f5d92d.html
    上面的网页也许对你有帮助 
      

  3.   

    http://topic.csdn.net/t/20060121/16/4529441.html
    这里有你想要的~贴一段:
    URL中的特殊字符     
      有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如   空格的编码值是"%20"。   
      下表中列出了一些URL特殊符号及编码   
          
        
                                                                            十六进制值     
      1.   +         URL   中+号表示空格                                 %2B     
      2.   空格   URL中的空格可以用+号或者编码           %20     
      3.   /         分隔目录和子目录                                   %2F       
      4.   ?         分隔实际的   URL   和参数                         %3F       
      5.   %         指定特殊字符                                           %25       
      6.   #         表示书签                                                   %23       
      7.   &         URL   中指定的参数间的分隔符               %26       
      8.   =         URL   中指定参数的值                               %3D     
        
      例:要传递字符串“this%is#te=st&o   k?+/”作为参数t传给te.asp,则URL可以是:   
      te.asp?t=this%25is%23te%3Dst%26o%20k%3F%2B%2F   或者   
      te.asp?t=this%25is%23te%3Dst%26o+k%3F%2B%2F   (空格可以用%20或+代替)   
        
      java中URL   的编码和解码函数   
      java.net.URLEncoder.encode(String   s)和java.net.URLDecoder.decode(String   s);