$_SERVER['REQUEST_URI'] Не возвращает символы хинди

Я пытался получить URL-адрес сервера, используя $_SERVER['REQUEST_URI']. Но это неправильно работает со словами хинди. например, если URL содержит слово हेल्लो, вывод: %E0%A4%B9%E0%A5%87%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%8B Вот код, который я использую до сих пор:

$path = $_SERVER['REQUEST_URI'];
$path = htmlspecialchars( $path, ENT_QUOTES, 'UTF-8' );
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
34
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

$_SERVER['REQUEST_URI'] содержит закодированную версию URL-адреса. Если вы хотите получить необработанный контент, передайте его urldecode().

Пример:

$encoded = '%E0%A4%B9%E0%A5%87%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%8B';
$decoded = urldecode('%E0%A4%B9%E0%A5%87%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%8B');

var_dump($encoded, $decoded);

Выходы:

string(54) "%E0%A4%B9%E0%A5%87%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%8B"
string(18) "हेल्लो"

Другие вопросы по теме