开发者

URL Encoding—Ampersand Problem

I'm having some trouble with some c开发者_JS百科haracter encoding causing some problems with a search form on my website. One of the possible field values has an ampersand in it. When this is selected and a search is submitted the ampersand is encoded to: %2526

Upon using the pagination links at the bottom of the page and navigating to the second page in the list of results the ampersand is encoded to: %26

Finally...in an attempt to navigate to the 3rd page in the list the ampersand is changed back to: & This breaks the form as it assumes there's a variable that isn't actually there.

Why is the encoding changing? How can I fix this? Thanks for your help!


It looks like the field is being encoded twice. First pass will result in & changed into %26, then urlencoding %26 will result in %2526, since the encoding for % itself is %25.


If you want to use Andaman & Nicobar in web API.

You can use instead of & you can use %26 and whole will be written as below.

Andaman+%26+Nicobar


I am assuming that you are navigating using links that are displayed on your web page.

The answer is in how you are generating the URL in that link's href tag. You (most likely) are not re-encoding the ampersand in the URL when you are setting that href attribute's value.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜