Як я можу перетворити пробіли у рядку %20?
Ось моя спроба:
$str = "What happens here?";
echo urlencode($str);
Вихід є "What+happens+here%3F", тому пробіли не представлені як %20.
Що я роблю не так?
Відповіді:
rawurlencodeНатомість використовуйте функцію.
Знак плюс - це історичне кодування символу пробілу в параметрах URL-адреси, як зафіксовано в довідці щодо urlencode()функції.
Ця сама сторінка містить відповідь, яка вам потрібна - використовуйте rawurlencode()замість цього, щоб отримати кодування, сумісне з RFC 3986 .
Я вважаю, що якщо вам потрібно використовувати %20варіант, ви можете, можливо, скористатися ним rawurlencode().