0

我在显示解码后的 JSON 中的值时遇到问题。JSON 是来自俄罗斯 API 的响应。

JSON 中的值 = Object268

但起初它显示为:ОбъекÑ, 268

添加<meta charset="utf-8">到我的 html 后,它变成:Объект 268

我必须使用什么字符集才能获得 Object268(非西里尔文)?

编辑:我只想在我的数据库中保存一些数据,我无法读取西里尔字母,而在 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 />");
            }
4

2 回答 2

0

使用下面的 PHP 代码重置字符集:

header('Content-Type: text/html; charset=ISO-8859-1');

或检查以下内容:

http://www.electrictoolbox.com/php-set-content-encoding-type-header/

于 2013-11-07T09:11:30.597 回答
0

使用“名称”而不是“名称_i18n”

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

此外,您可以解析名称的输出,删除冒号前的所有内容:以仅获取英文名称

于 2013-11-07T09:05:33.007 回答