О URL-кодировании
Зачем нужно кодирование
URL может содержать только определённый набор символов. Пробелы, кириллица, иероглифы и спецсимволы могут сломать ссылку или изменить её смысл. Кодирование делает любой текст безопасным для URL.
Стандарт RFC 3986
URL-кодирование определено в RFC 3986. Разрешённые символы: A-Z, a-z, 0-9, дефис (-), точка (.), подчёркивание (_), тильда (~). Все остальные символы должны быть закодированы.