2011-07-14 17 views
2

を作る:PHPのjson_encode()私はここにこのコードを持っているデータのヌル

case 'resource_list': 
     if(file_exists('content.php')){ 
      include('../ajax/content.php'); 
     } else { 
      die('does not exist'); 
     } 
     $html = render_content_page($array[1],$array[2]); 
     $slate = 'info_slate'; 
     $reply_array = array(
      'html' => $html, 
      'slate' => $slate 
     ); 
     echo json_encode($reply_array); 
    break; 

json_encode()が呼び出されるまで、私はすぐにすべてのレベルをデバッグしています。しかし、私のajaxで受け取ったデータはhtmlキーのためのものではありません。このコードは本質的にはrender_content_page()以外の関数を呼び出す別のケースのコピーと貼り付けですが、それは問題なく動作します。

$ reply_array var_exportsへ:

array (
    'html' => '<ol> 
    <li unit="quiz" identifier=""><img src="img/header/notifications.png"/>Fran�ois Vase Volute Krater</li> 
    </ol>', 
    'slate' => 'info_slate', 
) 
+4

私を信じて、それはPHPではありません;) – genesis

+2

^それは何ですか?とPHPはちょうど迷惑です..... – FraserK

+0

どのようなPHPのバージョンを使用していますか? – genesis

答えて

16

json_encodeのみUTF-8エンコードされたデータで動作するよう私の最初に考えたのは、Fran�ois Vase Volute Kraterでその特殊文字です。

するTry UTF-8 JSONはそうのようにそれをエンコードする前に、それをコードする:documentedとして

json_encode(utf8_encode("Fran�ois Vase Volute Krater")); 
5

たぶん、問題はエンコーディングでありますか? として手動状態、のみのみUTF8エンコードされたデータとjson_encode()作品:

この機能は、UTF-8エンコードされたデータで動作します。

http://php.net/json_encode

+0

+1は17秒早くなる:) –

1

json_encodeはUTF-8での入力テキストを期待しています。ほとんどの場合、あなたの入力(ç)はUTF-8ではありません。

utf8_encode(現在ISO-8859-1を使用している場合)またはmb_convert_encoding(そうでない場合)を使用して、入力文字列をUTF-8に変換します。

関連する問題