Файл JSON из facebook, как отобразить русский текст?

Я экспортировал файл с постами из сообщества FB в формате JSON. Вместо отображения русских текстов там
\u00d0\u00a4\u00d0\u00be\u00d1\u0082\u00d0\u00be \u00d0\u00b8\u00d0\u00b7 \u00d1\u0085\u00d1\u0080\u00d0\u00be\u00d0\u00bd\u00d0\u00b8\u00d0\u00ba\u00d0\u00b8.

На stackoverflow нашел способ как с помощью PHP конвертировать в читаемые данные:

$json = changeCharset(json_decode($str, TRUE));

var_dump($json);

function changeCharset( $array ){
    array_walk_recursive( $array, function(&$item) { 
       $item = iconv("UTF-8", "ISO-8859-1", $item); 
    });
    return $array;
}


Не могу понять почему мы конвертируем из UTF-8 в ISO-8859-1, и каким образом я могу конвертировать json файл, чтобы его можно было просматривать стандартным редактором, не прибегая к конвертации с помощью функции PHP.
  • Вопрос задан
  • 513 просмотров
Решения вопроса 1
@haveacess
Попробуйте когда получаете свой json файл использовать параметр JSON_UNESCAPED_UNICODE

Вот целиком строка:
$json = json_encode($return_info, JSON_UNESCAPED_UNICODE);
У самого была когда то такая проблема. Решилась именно так.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
IsSavinykh
@IsSavinykh
Full-Stack Веб-разработчик, мобильный разработчик
$json = utf8_encode($str); 
$results = json_decode($json, TRUE);
var_dump($json);

ИЛИ как писали выше
$json = json_decode(json_encode($str, JSON_UNESCAPED_UNICODE), TRUE);
var_dump($json);

С версии PHP 7.2.0 функция utf8_encode была перенесена в ядро PHP, таким образом отменив требование расширения XML для использования этой функции.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы