当前位置:Gxlcms > PHP教程 > 关于URL中的%十六进制数服务器是如何解析的

关于URL中的%十六进制数服务器是如何解析的

时间:2021-07-01 10:21:17 帮助过:14人阅读

刚才想起了经藏见到的URL中的%十六进制数,看了一些问什么要采用这种编码的解答,这点明白了。。网上说是为了兼容某些只能支持ASCII码的设备。感觉这样的解释有点牵强,大家觉得呢。。。

我的疑惑是:对于这样的十六进制数,服务器是如何解析这样的URL的。服务器如何判断这样的十六进制数是表示什么编码的?
%B7%FE%CE%F1%C6%F7%C8%E7。。就像这样一个串,服务器如何解析它是UTF8编码还是GBK或者GB2321的。。。


回复讨论(解决方案)

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

可以具体解释下有什么区别吗?

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

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

恩恩。。明白是应用程序的问题了。。但还是不知道如何判断编码格式的。。另外再提一个问题,像这种编码,在客户端应该是用JS实现的,到后台的时候用后台代码解析,这就意味着两端的编码要统一,这个不难做到,还是那个问题,如何判断是什么编码的?

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

人气教程排行