我有一些從HTML字段(使用.text())讀取用戶輸入的javascript。然後,我通過URL(FMP協議,而不是HTTP,但執行相同的編碼)發送該文本。多個空格的奇怪的Javascript網址編碼結果
當我在多個空格(彼此相鄰)中輸入時,我得到一個顯然很奇怪的URL編碼結果。因此,這裏有與所得到的編碼(一個具有一個空間,一個具有兩個空格)的一些例子:
Bob Bob => Bob%20Bob
Bob Bob => Bob%20%c2%a0Bob
%C2是「A」超過一個符號,而%A0似乎是一個空白?
問題在於,在接收端,它不能正確解碼爲兩個空格,而是作爲其他一些奇怪的字符。這裏有一些示例代碼:
$('.newEntry').on('blur', function() {
var text = encodeURIComponent ($('.newEntry').text()) ;
if (currentComment != text) {
window.location = 'fmp://blar.com/Sol?script=AddComment&$commentID=new&$commentText=' + text ;
}
});
有人可以幫助解釋,而雙空間通過這種方式來?由於這是用戶的自由形式文本輸入,所以我們很可能會得到雙倍空間,並且他們正在輸入筆記以供其他人閱讀。
謝謝, Ĵ
您使用哪個瀏覽器進行測試?通過簡單的文本輸入和最新的穩定Chrome瀏覽器,我可以像預期的那樣重複使用'%20'。 – diolemo
它是從FileMaker內部使用的Safari。 – Cronk