2013-11-07 4 views
0

У меня возникла проблема с отображением значения из декодированного JSON. JSON - ответ от русского API.Строка отображается как кириллица - неправильная кодировка?

Значение внутри JSON = Object268

Но сначала он отображается как: DZD ± ÑŠÐμкÑ, 268

После добавления <meta charset="utf-8"> в мой HTML стал: Объект 268

Что кодировок делать I нужно использовать, чтобы просто получить Object268 (не кириллицу)?

EDIT: Я просто хочу сохранить некоторые данные в моей базе данных, я не могу читать кириллицу и в ответе api я могу читать значения, поэтому мне нравится их хранить так. Ответ API: http://api.worldoftanks.ru/2.0/encyclopedia/tanks/?application_id=171745d21f7f98fd8878771da1000a31

PHP код:

$url="http://api.worldoftanks.ru/2.0/encyclopedia/tanks/?application_id=171745d21f7f98fd8878771da1000a31"; 
      $response = curl($url); 
      $json = json_decode($response, true); 
      echo ("<br /><p>Tanks: </p><br />"); 
      $id=0; 

      foreach($json['data'] as $key){ 
       echo ("ID = ".$key['tank_id']." tier = ".$key['level']." tank = ".$key['name_i18n']."<br />"); 
      } 
+0

'268' Объект кажется правильным cryllic ... так что ваша проблема? – TiMESPLiNTER

+0

Я не хочу, чтобы он отображался как кириллица, я добавлю его в свой вопрос, чтобы избежать путаницы. –

+0

Попробуйте 'utf8_decode()' вашу строку. По какой причине вы хотите получить строку в неправильной кодировке ... – TiMESPLiNTER

ответ

0

использование 'имя' вместо 'name_i18n'

echo ("ID = ".$key['tank_id']." tier = ".$key['level']." tank = ".$key['name']."<br />"); 

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

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