2015-12-22 7 views
5

Ci dovrebbero restituire un numero di risultati nella mia mano tipo json. Ma non posso stampare a causa di caratteri speciali. Dati di esempio nell'array di contenuti:PHP JSON Caratteri speciali

Alt n Portakal Film Festivali sonu land .

(Problema: )

$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

Possibile duplicato di [codifica JSON PHP non valida] (http://stackoverflow.com/questions/1790425/invalid-php-json-encoding) – gpinkas

+0

Non sono riuscito a trovare la soluzione. –

risposta

12

modificare il codice in quella:

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); 

Aggiunta UTF-8 intestazioni renderà il browser riconosce i caratteri speciali per questa impostazione.

+0

È questo che aggiungiamo al ciclo? –

+0

L'ho editato in modo da capire dove metterlo. – Phiter

+1

Mostreresti sul codice? Non ho capito –

3

Qual è l'output con questo?

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

JSON_UNESCAPED_UNICODE

codifica i caratteri multibyte Unicode letteralmente (di default è quello di fuggire come \uXXXX). Disponibile da PHP 5.4.0.