我在解码JSON中显示值时遇到问题。 JSON是来自俄罗斯API的回复。
JSON = Object268
中的值但最初显示为:ОбъÐμкÑ,268
将<meta charset="utf-8">
添加到我的HTML后,它变为:Объект268
我必须使用什么字符集来获取Object268(非西里尔字母)?
编辑: 我只想在我的数据库中保存一些数据,我无法读取Cyrillic,在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 :(得分:0)
使用'name'而不是'name_i18n'
echo ("ID = ".$key['tank_id']." tier = ".$key['level']." tank = ".$key['name']."<br />");
另外,您可以解析name的输出,删除冒号:
之前的所有内容,只获取英文名称
答案 1 :(得分:0)
使用以下PHP代码重置字符集:
标题('Content-Type:text / html; charset = ISO-8859-1');
或检查以下内容:
http://www.electrictoolbox.com/php-set-content-encoding-type-header/