Примените процентное кодирование (URL-кодирование), чтобы произвольный текст был безопасен в строках запроса, сегментах пути и телах форм.
Правила кодирования
Незарезервированные символы (A–Z, a–z, 0–9, -, _, ., ~) проходят без изменений. Все остальные — включая пробелы, &, =, #, ?, / и не-ASCII Unicode — становятся % с двумя шестнадцатеричными цифрами в верхнем регистре, представляющими последовательность байтов UTF-8.
Пробелы кодируются как %20 (не как +, свойственный формам).
Когда использовать
Собирайте поисковые ссылки ?q=, отлаживайте сломанные URL, готовьте параметры OAuth redirect или показывайте, почему сырой & в значении обрезает разбор запроса.
Ограничения
HTML-формы application/x-www-form-urlencoded иногда используют + для пробела — не путайте две конвенции. Инструмент кодирует целые строки, а не отдельные компоненты, уже содержащие %-экранирование (риск двойного кодирования). Сегментам пути может понадобиться дополнительная обработка слэшей по RFC 3986.
Пример
Введите значения примера из формы и сравните вывод с известным эталоном; меняйте по одному полю.