Php 无法从url获取值

Php 无法从url获取值,php,Php,无法从url获取值 localhost/ddd.php?udh=%05%00%03%6d%03%01 当我尝试将此url复制粘贴到地址栏“localhost/ddd.php?udh=%05%00%03%6d%03%01”时,它会转换为“” 有什么解释吗 此外,我无法获取$\u get['udh'],它会打印: array (size=1) 'udh' => string '�m' (length=6) 可能您应该使用urlencode()对邮件进行编码,当使用$\u GET访问邮件

无法从url获取值

localhost/ddd.php?udh=%05%00%03%6d%03%01
当我尝试将此url复制粘贴到地址栏“localhost/ddd.php?udh=%05%00%03%6d%03%01”时,它会转换为“” 有什么解释吗

此外,我无法获取$\u get['udh'],它会打印:

array (size=1)
  'udh' => string '�m' (length=6)

可能您应该使用
urlencode()
对邮件进行编码,当使用
$\u GET
访问邮件时,您必须使用
urlencode()
对其进行解码

HTML

<a href ="localhost/ddd.php?udh=".<?php urlencode('message');?>></a>
来自W3C学校:

URL编码(百分比编码) URL只能使用ASCII字符集通过Internet发送

由于URL通常包含ASCII集之外的字符,因此必须将URL转换为有效的ASCII格式

URL编码将不安全的ASCII字符替换为“%”,后跟两个十六进制数字。 URL不能包含空格。URL编码通常用加号(+)或%20替换空格

因此,当您将字符串
%05%00%03%6d%03%01
放在浏览器中时,它会自动尝试对其进行解码,搜索%字符,在您的情况下,%6d=m


不确定是否使用%作为分隔符,但可以改为:或|并使用explode将其提取()

查看
urlencode()
urldecode()
urlencode($\u GET['udh'])在读取“%05%00%03%6d%03%01”时打印“%05%00%03m%03%01”您不需要显式地对URL进行编码。浏览器负责自动编码URL中的某些字符。在这里,您只需要解码URL。仅使用
urldecode()
对URL进行解码
urldecode($\u GET['udh'])
已经足够独立了。您不需要显式地对URL进行编码。浏览器负责自动对URL进行编码。在这里,您只需要解码URL。
$value = urldecode(isset($_GET['udh']));