URL特殊字符作为GET方法问题

时间:2013-07-08 15:07:56

标签: url get

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

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

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

任何帮助都将受到高度赞赏。

2 个答案:

答案 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。)