2013-11-28 3 views
1

я только что заметил странный результат с моим кодом:file_get_contents вернуть JSON с дополнительными неожиданными персонажами

$data = @file_get_contents($url); //gets json format from API 
return $data; 

возвращает случайный характер перед первой { и после последнего }.
Из-за этого я не могу использовать json_decode(), потому что json теперь недействителен из-за дополнительных символов.

Я проверил фактический URL-адрес api, и у него нет этих случайных символов.
Почему это могло произойти?

Примечание: Иногда он даже возвращает черный алмаз с белым вопросительным знаком.


Я читаю API из сообщества Steam.


Я импровизировал с помощью временного исправления, в то время как я пытался найти код, вызывающий проблему.

$data = substr($data, 1, -1); 
+0

Какой URL-адрес API? –

+0

@madziikoy Получил 401 несанкционированную ошибку. –

+2

Вы проверили свои собственные файлы для спецификации UTF-8? – Wrikken

ответ

0

Похоже, что у вас есть проблема с кодировкой символов.

Заголовок ответа АФИ-запроса:

Content-Type: application/json; charset=UTF-8 
Content-Encoding: gzip 

Пожалуйста, посмотрите на эквивалентный вопрос here.

+1

Это, похоже, не так. – madziikoy

Смежные вопросы