1
當驗證碼輸入錯誤時,我有一段代碼重定向到使用server.urlEncode (fields)
的頁面。代碼如下所示:server.urlencode不編碼特殊字符
sRedirectTo = "page.asp" _
& "?action=vcerr" _
& "&at=" & server.urlEncode(sAdType) _
& "&fn=" & server.urlEncode(sFirstname) _
& "&mn=" & server.urlEncode(sMiddleName) _
& "&ln=" & server.urlEncode(sLastName) _
& "&sx=" & server.urlEncode(sSex) _
& "&pr=" & server.urlEncode(sProvince) _
& "&cn=" & server.urlEncode(sCountry) _
& "&cy=" & server.urlEncode(sCity) _
& "&md=" & server.urlEncode(dMomentDate) _
& "&ag=" & server.urlEncode(iAgree) _
& "&chn=" & server.urlEncode(sCharityName) _
& "&chu=" & server.urlEncode(sCharityUrl) _
& "&city=" & server.urlEncode(sCityID) _
& "&key=" & server.urlEncode(sKeywords)
然而,當cy
項是像聖徒傑羅姆一個城市,它沒有編碼的口音。網址在瀏覽器欄是這樣的:? page.asp行動= VCERR [...] & CY = SAINT-傑羅姆& OD = 10%使用2F05%2 [...]
然後將文本拉QueryString("cy)
並顯示在頁面上,導致字符不能正確顯示。
有什麼我在這裏失蹤?我不確定爲什麼server.urlEncode
不起作用。
編輯:
我查了可變sRedirectTo
在調試時,似乎urlEncode
確實對人物的工作,所以Response.redirect
和QueryString
之間的切換情況。重定向是否可以刪除特殊字符的編碼?另外奇怪的是,在其他變量上完成的urlencoding保持不變。
如果不是包含「SAINT-JÉRÔME」,而是將cy變量賦值爲「Hello&oops = World」,會發生什麼? – AnthonyWJones
@AnthonyWJones:由於我的示例腳本不使用'Server.URLEncode',輸出將是「Hello」。 – stealthyninja