2013-09-16 2 views
0

Я использую PHP, чтобы захватить некоторые JSON из этого URL - goo.gl/xdIqEyКак справиться с этой проблемой кодирования PHP?

Я попытался с помощью cURL и file_get_contents(), но «LastName» элемент всегда возвращается, похожий ─Éur─æi─ç

Если я рассматриваю, что URL в Chrome, он выглядит как ÄurÄ‘ić

это должно выглядеть Đurđić

это, очевидно, своего рода кодирования вопрос, но как я справиться с этим? Заголовки ответов HTTP не дают никаких подсказок для типа кодировки.

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

Если я перейду к этому URL-адресу в IE, давайте загрузим файл .json на диск. Когда я открываю это в Sublime Text, это выглядит правильно.

Любые советы?

+0

Не уверен, если это будет иметь значение, но ваши PHP файлы, сохраненные в кодировке UTF8 или просто ANSI? – K0D4

+0

Что вы используете для отображения даты, должно поддерживать utf-8, utf8_decode преобразует utf-8 в latin1, но latin1 не поддерживает эти символы, поэтому они заменяются вопросительными знаками. – Musa

ответ

1

Вы можете использовать:

<?php 
header('Content-Type: text/html; charset=utf-8'); 
echo iconv("utf-8", "latin1", "BosanÄić");//Bosanči 
echo iconv("utf-8", "latin1", "JiráÄek"); //Jiráček 
?> 

Ваш входной набор символов UTF8 вам нужно преобразовать обратно в latin1

+0

Я не могу указать «Content-Type» в заголовке, к сожалению. Я вызываю сторонний веб-сервис с CURL из моего PHP-скрипта - и в заголовках ответов нет «Content-Type». – Mike

+0

Я попытался установить 'CURLOPT_ENCODING' в свой запрос CURL, но у меня такая же проблема. – Mike

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