2013-07-08 17 views
0

不幸的是,htmlentities,urlencode,htmlspecialchars - 沒有任何東西似乎適用於我。我試圖發送字符串「音樂&舞」中的URL作爲GET參數,可以這樣:作爲GET方法問題的URL特殊字符

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

當我嘗試接收myvar,它總是顯示「音樂」。這意味着,該字符串在& char處被切斷。

任何幫助將不勝感激。

+0

我什至試圖將頭轉換爲UTF-8。即使這沒有幫助。 – Jay

回答

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>"); 
0

STD 66定義&作爲reserved character。它通常用於分隔名稱 - 值對。

由於您的&是該值的一部分,因此需要對其進行百分比編碼→%26。所以你的價值應該是Music%20%26%20Dance(空間爲%20)。