Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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.
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.
Verifique o log de erro do seu servidor!
E o console de javascript no browser.