Любопытная вещь происходит с одним из моих внутренних веб-сайтов, который я кодирую. Я отправляю форму с некоторыми записями HTML "выбрать/опция". Эти записи должным образом появляются в строке запроса целевой страницы при отправке формы... но с добавлением %0A%0D в конце.
К сожалению, это делает их непригодными для целевой страницы (они должны быть именами файлов изображений (JPG). Таким образом, «mypicture.jpg» становится «mypicture.jpg%OA%OD», что не работает).
Я тщательно проверил; нигде в источнике нет записей %A0%AD; кажется, что они генерируются внутри во время перехода на страницу, на которую они отправляются?
Напротив, один и тот же код отлично работает на другом веб-сайте (оба веб-сайта используют одни и те же исходные HTML-файлы, хранящиеся на одном сервере, но с разными подключениями к базе данных, поэтому они оба БУКВАЛЬНО используют один и тот же код).
Какие-нибудь мысли об этом аномальном и антиобщественном поведении?






'%A0' — это старый способ кодирования пробелов в URL-адресе (в настоящее время вы склонны видеть вместо него '+'), поскольку " " не разрешено, то же самое относится и к '%AD'. Проверьте свой код, чтобы убедиться, что он не оставляет пробелов в конце строки URL-адреса.
Отсортировал... и это НИЧЕГО не связано с HTML.
Моя форма была заполнена записями из моей базы данных MySQL.
Оказывается, МНОГИЕ (хотя и не все) из этих записей базы данных, которые представляли имена файлов изображений (например, «picture.jpg»), каким-то образом получили невидимый «/n» в конце (что сделало их «picture. jpg/n"), которые HTML преобразовал в строки %OA%OD, когда они прибыли на мою страницу ASP/HTML.
Я написал запрос, чтобы удалить все это из базы данных, и теперь мое приложение работает правильно, без строк «%OA%OD», добавленных в конец моих строк запроса.
Спасибо за вашу помощь :)
Я думаю, что это коды для CR/LF. Как вы генерируете свою строку запроса?