PHP: преобразовать пробелы в строку в %20? Как преобразовать пробелы в строку в %20? Вот моя попытка: $str = "What happens here?"; echo urlencode($str); Вывод "What+happens+here%3F", поэтому пробелы не представлены как %20. Что я делаю неправильно? Ответ 1 Используйте вместо этого функцию rawurlencode. Ответ 2 Знак плюса - это историческое кодирование символа пробела в параметрах URL, а задокументировано в справке для функции urlencode(). Эта же страница содержит ответ, который вам нужен - вместо этого используйте rawurlencode(), чтобы получить RFC 3986. Ответ 3 Я считаю, что если вам нужно использовать вариант %20, вы можете использовать rawurlencode().
Ответ 2 Знак плюса - это историческое кодирование символа пробела в параметрах URL, а задокументировано в справке для функции urlencode(). Эта же страница содержит ответ, который вам нужен - вместо этого используйте rawurlencode(), чтобы получить RFC 3986.
Ответ 3 Я считаю, что если вам нужно использовать вариант %20, вы можете использовать rawurlencode().