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