phpjsonflightphp

Having Problems trying to encode json from php


So, this is my php code:

$lista = Producoes::getPublicList();
if(count($lista) > 0){

    $jsonObj = array();

    foreach ($lista as $post){
        $jsonPost = array();
        $jsonPost["id"]=$post->id_post;
        $jsonPost["url_post"]=$post->url_post;
        $jsonPost["url_path"]=$post->url_path;
        $jsonPost["url_foto"]=$post->url_foto;
        $jsonPost["post_title"]=$post->post_title;
        array_push($jsonObj, $jsonPost);
    }

    error_log( print_r($jsonObj,TRUE) );
}

Flight::json($jsonObj);

in the error log, i can see that i get the correct output structure:

Array(
[0] => Array
    (
        [id] => 1
        [url_post] => http://www.blogbellafiore.com/2016/03/especial-de-pascoa-bella-fiore.html
        [url_path] => especial-de-pascoa-bella-fiore.html
        [url_foto] => https://4.bp.blogspot.com/-bd3jBX0GACc/Vt2qx4wfwuI/AAAAAAAAi-U/PvF_AtZhPOg/s640/GM_0003.jpg
        [post_title] => Especial de Páscoa Bella Fiore
    )

[1] => Array
    (
        [id] => 3
        [url_post] => http://www.blogbellafiore.com/2013/03/editorial-de-pascoa.html
        [url_path] => editorial-de-pascoa.html
        [url_foto] => http://2.bp.blogspot.com/-ay94xBCYqtY/UUtHNsE2p1I/AAAAAAAAG1s/qjG6lS22IMg/s640/Pa%CC%81scoa-5.jpg
        [post_title] => Editorial de Páscoa
    )

[2] => Array
    (
        [id] => 2
        [url_post] => http://www.blogbellafiore.com/2015/12/editorial-de-fotos-barraquinha-da-sophie.html
        [url_path] => editorial-de-fotos-barraquinha-da-sophie.html
        [url_foto] => https://2.bp.blogspot.com/-LF9rLCqpyl0/VnhNTfiLy2I/AAAAAAAAhlM/O-B1IwN_FJY/s640/Editorial_Barraquinha_da_Sophie__10.JPG
        [post_title] => Editorial - Barraquinha da Sophie
    )
)

but the json output shows nothing. just blank.

I'm using FlightPHP framework as a router, so the method Flight:json($var) encodes and returns a json response. Already used it in other places, and works fine.


Solution

  • @deceze solved it, i just needed to utf8 encode post title, this modification worked:

    $jsonPost["post_title"]=utf8_encode($post->post_title);