2015-12-22 21 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

変更することへのあなたのコード:ブラウザがこの設定のための特殊文字を認識させますUTF-8ヘッダを追加

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

+0

ループに追加されていますか? –

+0

私はそれを編集して、どこに置くべきかを理解する。 – Phiter

+1

コードに表示してください。私は理解していない –

3

これで出力は何ですか?

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

JSON_UNESCAPED_UNICODE

(デフォルトは\uXXXXとして脱出することである)文字通り、マルチバイトのUnicode文字をエンコードします。 PHP 5.4.0から利用可能です。