Как исправить кодировку данных, полученных в PHP из JS через AJAX?
Здравствуйте. Я делаю AJAX-запрос из JSON-данными. Если я вывожу эти данные в консоль браузера, они отображаются корректно:
{"first_name":"Ваня","id":362770972,"last_name":"Макарчук","name":"ivanmkrchk"}
Но если я на стороне PHP пытаюсь декодировать этот JSON, то получаю ошибку JSON_ERROR_SYNTAX, а, сохранив его в файл, вижу
{"first_name":"п▓п╟пҐя▐","id":362770972,"last_name":"п°п╟п╨п╟я─я┤я┐п╨","name":"ivanmkrchk"}
Как это исправить?
Пытался использовать mb_convert_encoding между каждой парой кодировок из следующего списка в обе стороны. Не помогло.
$encodings = ['UTF-8', 'UTF-16', 'UTF-16LE', 'UTF-16BE', 'UCS-2', 'UCS-2LE', 'UCS-2BE', 'ISO-8859-1', 'ISO-8859-5', 'CP1251', 'CP1252', 'KOI8-R', 'KOI8-U'];
Проблема с кодировкой получаемых, а не отправляемых данных. Если я отправляю данные назад в браузер из таким заголовком, они отображаются корректно, JS их парсит, но json_decode в php выдаёт ошибку.