Подтвердить что ты не робот

Проблема кодирования URL-амперсанда

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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