2015-12-22 170 views
5

在我的手json类型中应该返回一些结果。但由于特殊字符,我无法输出。 内容数组中的示例数据:PHP JSON特殊字符

Alt nPortakal Film Festivalisonu land 。

(问题:

$JSON["today"]=array(); 
for ($i=0; $i < count($olay_tarih); $i++) { 
    $gelen["date"] = array(); 
    $gelen["content"]=array(); 
    array_push($gelen["date"], $olay_date[$i]); 
    array_push($gelen["content"], $olay_content[$i]); 
    array_push($JSON["today"], $gelen); 
} 
echo json_encode($JSON); 
+1

[无效的PHP JSON编码]可能的重复(http://stackoverflow.com/questions/1790425/invalid-php-json-encoding) – gpinkas

+0

我找不到解决方案。 –

回答

12

更改您的代码到:

header('Content-Type: application/json; charset=utf-8', true,200); 
$JSON["today"]=array(); 

for ($i=0; $i < count($olay_tarih); $i++) { 
$gelen["date"]=array(); 
$gelen["content"]=array(); 
array_push($gelen["date"], $olay_date[$i]); 
array_push($gelen["content"], $olay_content[$i]); 
array_push($JSON["today"], $gelen); 
} 
$JSON = array_map('utf8_encode', $JSON); 
echo json_encode($JSON); 

添加UTF-8标题将使得浏览器识别任何特殊字符此设置。

+0

是我们添加到循环中吗? –

+0

我编辑了它,以便您了解放置它的位置。 – Phiter

+1

你能否在代码上显示?我不明白 –

3

这是什么结果?

<?php 
header('Content-type: text/html; charset=utf-8'); 
echo(json_encode($JSON, JSON_UNESCAPED_UNICODE)); 

JSON_UNESCAPED_UNICODE

字面上多字节进行编码的Unicode字符(默认为逸出\uXXXX)。自PHP 5.4.0起可用。