让希伯来json到php文件

时间:2015-06-14 14:05:09

标签: php json encoding hebrew

我试图在php中解析这个json文件:http://www.oref.org.il/WarningMessages/alerts.json

此文件包含导致编码问题的希伯来字母。

我的剧本:

$content = file_get_contents('http://www.oref.org.il/WarningMessages/alerts.json'); 
$json = json_decode($content);
echo $json->id;

它只是不会显示任何内容。我只是得到一个空白页面。但如果我echo $content;,它会完美地显示json文件。

Json文件示例:

{ 
"id" : "1434292591050",
"title" : "פיקוד העורף התרעה  באזור ",
"data" : []
}

我一直在阅读其他一些类似的问题和解决方案,但没有一个能帮助解决这个问题。我一直试图使用mb_detect_encodingiconv,但它没有帮助。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以尝试以下iconv

$content = iconv('utf-16', 'utf-8', $content);

然后json_decode正常工作并返回:

stdClass Object
(
    [id] => 1434292591050
    [title] => פיקוד העורף התרעה  באזור 
    [data] => Array
        (
        )

)

答案 1 :(得分:1)

您获得的文件内容是UTF-16字符集。你必须转换它:

$content = file_get_contents('http://www.oref.org.il/WarningMessages/alerts.json'); 
$content=iconv("UTF-16", "UTF-8", $content);
$json = json_decode($content,true);
print_r($json);