0

不幸的是 htmlentities、urlencode、htmlspecialchars - 似乎没有什么对我有用。我正在尝试将 URL 中的字符串“Music & Dance”作为 GET 参数发送,如下所示:

http://www.example.com?myvar=str.....

当我尝试接收myvar时,它总是显示“音乐”。这意味着,字符串在字符处被截断&

任何帮助将不胜感激。

4

2 回答 2

1

结果应该是?myvar=Music%20%26%20Dance

检查您是否对值进行了 url 编码,并对完整的 url 进行了 html 编码。后者需要制作有效的 html。

例子:

var value1 = "Music & Dance";
var value2 = "Awesomeness";
var qs = "?myvar=" + urlencode(value1) + "&level=" + urlencode(value2);
// Result: "?myvar=Music%20%26%20Dance&level=Awesomeness"

var href = htmlencode(qs);
// Result: "?myvar=Music%20%26%20Dance&level=Awesomeness";

write("<a href=\"" + href + "\">my link!</a>");
于 2013-07-12T16:19:17.740 回答
0

STD 66定义&保留字符。它通常用于分隔名称-值对。

由于您&是价值的一部分,因此您需要对其进行百分比编码 → %26。所以你的价值应该是Music%20%26%20Dance%20空间)。

于 2013-07-12T16:22:13.360 回答