Jump to content
Sign in to follow this  
RoyalFlush

json_encode sem retorno

Recommended Posts

Olá's!

Estou utilizando Windows como máquina de desenvolvimento PHP pela primeira vez, não seu se o problema é relacionado a isso, mas no meu servidor tenho uma aplicação com vários retornos em json, utilizando json_encode, mas quando tento rodar a mesma aplicação localmente todos os retornos são em branco, alguém já passou por isso?

 

O problema só ocorre com esse método, se eu usar um var_dump por exemplo, vejo todos os dados do meu array.

 

[]'s

Share this post


Link to post
Share on other sites

Por incrível que pareça não tem logs de erro, reparei que o php.ini não tinha a linha do json, mas no server tbm não tem. Acabei fazendo o ajuste que eu precisava (era pouca coisa) direto no server, não é nem de longe uma boa prática, mas resolveu o meu problema.

Share this post


Link to post
Share on other sites

Olá.

 

Verifique a utilização de caracteres especiais, acentos, cedilhas, entre outros.
Tente usar um utf8_encode/decode antes do json_encode.

 

Segue alguns trechos de código que utilizei.

 

 

//retorna o encode dos valores de um array em utf-8

function arrUtf8Encode($arr) {
foreach($arr as $key => $value){
$arr[$key] = utf8_encode($value);
}
return $arr;
}
//retorna o decode dos valores de um array em utf-8
function arrUtf8Decode($arr) {
foreach($arr as $key => $value){
$arr[$key] = utf8_decode($value);
}
return $arr;
}
utilização
echo json_encode(arrUtf8Encode($retorno));
echo json_decode(arrUtf8Encode($retorno));
Obs: não sei se a solução exata é a utilização do encode ou decode, faz tempo que tive este problema.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.