不幸的是,htmlentities,urlencode,htmlspecialchars - 似乎对我没什么用 . 我试图在URL中发送字符串“Music&Dance”作为GET参数,如下所示:
http://www.example.com?myvar=str.....
当我尝试接收 myvar 时,它始终显示"Music" . 这意味着,字符串在 & 字符处被截断 .
myvar
&
任何帮助将受到高度赞赏 .
结果应为 ?myvar=Music%20%26%20Dance .
?myvar=Music%20%26%20Dance
检查您是否对值进行了url-encode,并对完整的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>");
STD 66将 & 定义为reserved character . 它通常用于分隔名称 - 值对 .
由于 & 是值的一部分,因此需要对其进行百分比编码→ %26 . 所以你的 Value 应该是 Music%20%26%20Dance ( %20 代表空间) .
%26
Music%20%26%20Dance
%20
2 回答
结果应为
?myvar=Music%20%26%20Dance
.检查您是否对值进行了url-encode,并对完整的URL进行html编码 . 后者需要制作有效的HTML .
例:
STD 66将
&
定义为reserved character . 它通常用于分隔名称 - 值对 .由于
&
是值的一部分,因此需要对其进行百分比编码→%26
. 所以你的 Value 应该是Music%20%26%20Dance
(%20
代表空间) .