Как отмечено, пробелы не указаны в URL-адресах. Большинство браузеров orlencode их автоматически. Однако ...
На странице, на которую вы ссылаетесь, есть пример с использованием слова «Günter» в разделе «Попробуйте меня». Если слово «Günter» было отправлено как параметр querystring, это не сработало. поскольку «ü» не находится в стандартном наборе символов ASCII.
Он предназначен для использования, когда есть потенциально не-ASCII-символы. Примером может быть использование данных из базы данных для создания гиперссылки. Предположим, что код создает ссылку на страницу профиля пользователя. Unencoded, шахта будет:
<a href="profile/?username=David Stratton">Your profile</a>
в то время как Гюнтер был бы
<a href="profile/?username=Günter">Your profile</a>
Mine, большинство браузеров может справиться. Гюнтер, вероятно, нет.
кодировкой, они стали бы
<a href="profile/?username=David%20Stratton">Your profile</a>
и
<a href="profile/?username=G%FCnter">Your profile</a>
, которые являются допустимыми URL-адреса.
(Пожалуйста, простите тот факт, что наиболее хорошо разработанные системы не будут передавать имя пользователя в качестве параметра, как это. Это был просто пример, чтобы уточнить понятие.)
Символы UTF-8, например, или любой символ из другого набора символов. ASCII - это всего лишь малейший набор символов. – Halcyon
Я не уверен, но я думаю, что каждый символ должен быть закодирован, который может иметь другое значение (например, & и пробел). Не используйте w3schools.com, он не имеет ничего общего с w3c и довольно часто ошибочен. –