无法从网址获取值。
localhost/ddd.php?udh=%05%00%03%6d%03%01
当我尝试将此网址粘贴到地址栏“localhost / ddd.php?udh =%05%00%03%6d%03%01”时,它会转换为“http://localhost/ddd.php?udh=%05%00%03m%03%01” 有没有解释?
此外我无法获得$ _GET ['udh'],它会打印:
array (size=1)
'udh' => string '�m' (length=6)
答案 0 :(得分:0)
您可能应该使用urlencode()
对邮件进行编码,并且在使用$_GET
访问邮件时,您必须使用urldecode()
对其进行解码。
<强> HTML 强>
<a href ="localhost/ddd.php?udh=".<?php urlencode('message');?>></a>
<强> PHP 强>
$value = urldecode(isset($_GET['udh']));
答案 1 :(得分:0)
来自W3C学校:
网址编码(编码百分比) 只能使用ASCII字符集通过Internet发送URL。
由于URL通常包含ASCII集之外的字符,因此必须将URL转换为有效的ASCII格式。
URL编码用“%”后跟两个十六进制数字替换不安全的ASCII字符。 网址不能包含空格。 URL编码通常用加号(+)或%20替换空格。
因此,当您将字符串%05%00%03%6d%03%01
放入浏览器时,它会自动尝试对其进行解码以搜索%字符,在您的情况下会发生%6d = m。
不确定您是否使用%作为分隔符,但您可以更改为:或|并使用explode来提取它(http://php.net/manual/en/function.explode.php)