-1

我有一个网址,例如:

<ul>
<?php
$sql = "select * from product";
$res = mysql_query($sql);
while($row = mysql_fetch_array($res))
{
?>
   <li> <a href="test.php?id=<?php $row['name']?>"><?php $row['name']?></a></li>
<?php
}
?>
</ul>

当这里 $row['name'] 有“茶和咖啡”时,PHP 端:

$id = $_GET['id'];

$id值为"Tea"但我需要整个字符串为"Tea & Coffee"

4

2 回答 2

1

您需要对空格和 & 符号进行 URL 编码。

尝试这个:

test.php?id=tea+%26+coffee

您可以在这里测试 URL 编码http://www.w3schools.com/tags/ref_urlencode.asp

URL 编码 URL 只能使用 ASCII 字符集通过 Internet 发送。

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

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

引自http://www.w3schools.com/tags/ref_urlencode.asp

在http://en.wikipedia.org/wiki/Query_string#URL_encoding阅读更多关于为什么需要对查询字符串进行 URL 编码的信息。

于 2013-04-13T06:01:36.787 回答
0

URL 对 & 符号和空格进行编码

例如这里

于 2013-04-13T06:00:41.667 回答