不幸的是,htmlentities,urlencode,htmlspecialchars - 沒有任何東西似乎適用於我。我試圖發送字符串「音樂&舞」中的URL作爲GET參數,可以這樣:作爲GET方法問題的URL特殊字符
http://www.example.com?myvar=str.....
當我嘗試接收myvar
,它總是顯示「音樂」。這意味着,該字符串在&
char處被切斷。
任何幫助將不勝感激。
不幸的是,htmlentities,urlencode,htmlspecialchars - 沒有任何東西似乎適用於我。我試圖發送字符串「音樂&舞」中的URL作爲GET參數,可以這樣:作爲GET方法問題的URL特殊字符
http://www.example.com?myvar=str.....
當我嘗試接收myvar
,它總是顯示「音樂」。這意味着,該字符串在&
char處被切斷。
任何幫助將不勝感激。
結果應該是?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>");
STD 66定義&
作爲reserved character。它通常用於分隔名稱 - 值對。
由於您的&
是該值的一部分,因此需要對其進行百分比編碼→%26
。所以你的價值應該是Music%20%26%20Dance
(空間爲%20
)。
我什至試圖將頭轉換爲UTF-8。即使這沒有幫助。 – Jay