刚才想起了经藏见到的URL中的%十六进制数,看了一些问什么要采用这种编码的解答,这点明白了。。网上说是为了兼容某些只能支持ASCII码的设备。感觉这样的解释有点牵强,大家觉得呢我的疑惑是:对于这样的十六进制数,服务器是如何解析这样的URL的。服务器如何判断这样的十六进制数是表示什么编码的?
%B7%FE%CE%F1%C6%F7%C8%E7。。就像这样一个串,服务器如何解析它是UTF8编码还是GBK或者GB2321的

解决方案 »

  1.   

    urldecode
    UTF-8和GBK的编码还是有区别的,从特征码来识别。
      

  2.   

    url编码,将由web服务器隐式的执行urldecode进行解码
    至于传递的是什么,需由应用程序解释
      

  3.   

    这个和服务器没有关系。是浏览器判读编码,进行统一相同的urlencode处理的吧。猜的,水娃一个
      

  4.   

    不同的浏览器,在URL地址中传中文,会有不同的结果。有些是GBK,有些是UTF-8,为了防止由于浏览器的自动化所带来的不便,中文最要先用urlencode处理一下,接收端用urldecode来处理。
    PHP有检测字符集的方法,但是不是很准,不能过于期望。