字符串显示为Cyrillic - 错误的字符集?

时间:2013-11-07 08:49:37

标签: php html character-encoding json

我在解码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 />");
            }

2 个答案:

答案 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/