Получаю данные с сайта в формате: Код (Text): fetch(theUrl, { method: 'POST', body: JSON.stringify(formData), headers: { 'Content-Type': 'application/json' } }) Преобразую: Код (Text): $data = json_decode(file_get_contents('php://input'), true); $json_out = json_encode($data); И в $json_out получаю; Код (Text): {"consumer":"\u041f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b\u044c", ... В то же время командой: Код (Text): $consumer = $data['consumer']; получаю нормальный текст utf-8 Я что-то не понимаю? Прошу помощи! Спасибо! Александр
Так и должно быть. json_encode эскейпит юникод-символы. Можно отменить, но большого смысла нету. Большинство систем, в том числе браузеры, понимают такие JSON-ы верно, и при декодировании вернуться символы. https://www.php.net/manual/en/json.constants.php#constant.json-unescaped-unicode
Добрый день, Александр! Я не понял зачем нужен json_encode. json_decode возвращает ассоциативный массив $data Если убрать следующую строку, эта команда получит $consumer из этого массива. PHP: $consumer = $data['consumer']; Удачи!