2015-12-22 210 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起可用。