Кодировка URL - проблема с амперсандом - PullRequest
40 голосов
/ 10 августа 2011

У меня возникли проблемы с кодировкой символов, что вызвало проблемы с формой поиска на моем веб-сайте.В одном из возможных значений поля есть амперсанд.Когда это выбрано и поиск отправлен, амперсанд кодируется следующим образом: %2526

При использовании ссылок на страницы в нижней части страницы и переходе на вторую страницу в списке результатов амперсанд кодируетсяна: %26

Наконец ... при попытке перейти на 3-ю страницу в списке амперсанд изменяется на: & Это нарушает форму, так как предполагает, что есть переменная, которая не 'т на самом деле там.

Почему меняется кодировка?Как я могу это исправить?Спасибо за вашу помощь!

Ответы [ 3 ]

69 голосов
/ 10 августа 2011

Похоже, что поле кодируется дважды. Первый проход приведет к & изменится на% 26, затем urlencoding% 26 приведет к% 2526, поскольку сама кодировка%% равна% 25.

1 голос
/ 21 марта 2018

Если вы хотите использовать Andaman & Nicobar в веб-API.

Вы можете использовать вместо & вы можете использовать% 26, и целое будет записано, как показано ниже.

Andaman +% 26 +Nicobar

0 голосов
/ 10 августа 2011

Я предполагаю, что вы переходите по ссылкам, отображаемым на вашей веб-странице.

Ответ заключается в том, как вы генерируете URL в теге href этой ссылки.Вы (скорее всего) не перекодируете амперсанд в URL, когда устанавливаете значение этого атрибута href.

...