AM
Acentos no retorno do json_encode
Olá pessoal,
Seguinte, estou retornando um json de minha base, porém o mesmo está retornando caracteres estranhos onde tem acentuação. O retorno vem de um serviço do rest.php do Adianti.
O retorno:
{"status":"success","data":[{"cliente_id":"2","user_id":"2","razao_social":"u00a0ARPOADOR COMERCIO DE MEDICAMENTOS LTDA","fantasia":"FARMu00c1CIA SANTA LUCIA","endereco":"Rua Professor Quintiliano","numero":"11","complemento":"","bairro_id":"1","cidade_id":"3112","uf_id":"11","cep":null,"tipo_pessoa":"J","cpf_cgc":"27.326.719/0036-","inscricao_est":null,"vr_limite_credito":"0","vr_saldo":"0","vr_ult_compra":"0","dt_ult_compra":null,"tipo_bloqueio":"1","tipo_atividade":"1","observacoes":null,"recebe_sms":"S","envia_email":"S","vip":"S","email":null,"web_site":null,"pontos_avaliacao":null,"data_cadastro":"2018-05-15","dt_desativacao":null,"ativo":"S","id":"4"},{"cliente_id":"2","user_id":"2","razao_social":"u00a0ARPOADOR COMERCIO DE MEDICAMENTOS LTDA","fantasia":"FARMu00c1CIA SANTA LUCIA","endereco":"Rua Bernardo Horta","numero":"270","complemento":"","bairro_id":"18","cidade_id":"3112","uf_id":"11","cep":null,"tipo_pessoa":"J","cpf_cgc":"27.326.719/0037-","inscricao_est":null,"vr_limite_credito":"0","vr_saldo":"0","vr_ult_compra":"0","dt_ult_compra":null,"tipo_bloqueio":"1","tipo_atividade":"1","observacoes":null,"recebe_sms":"S","envia_email":"S","vip":"S","email":null,"web_site":null,"pontos_avaliacao":null,"data_cadastro":"2018-05-15","dt_desativacao":null,"ativo":"S","id":"5"}
Alguém sabe como resolver o problema?
Seguinte, estou retornando um json de minha base, porém o mesmo está retornando caracteres estranhos onde tem acentuação. O retorno vem de um serviço do rest.php do Adianti.
- <?php
- header("Content-Type: application/json; charset=utf-8", true);
- class ClientesRepreService
- {
- /**
- * Retorna todos produtos entre $from e $to
- * @param $request HTTP request
- */
- public static function getAll( $request )
- {
- TTransaction::open('pharmapedr');
- $response = array();
- // define o critério
- $criteria = new TCriteria;
- $criteria->add(new TFilter('cliente_id', '=', $request['repre']));
- $param['order'] = 'razao_social';
- $param['direction'] = 'asc';
- $criteria->setProperties($param); // order, offset
- // carrega os clientes do representante informado (repre)
- $all = ClientesRepre::getObjects( $criteria );
- foreach ($all as $cliente)
- {
- $response[] = $cliente->toArray();
- }
- TTransaction::close();
- return $response;
- }
- /**
- * Retorna o clinete especifico em cod
- * @param $request HTTP request
- */
- public static function getCliente( $request )
- {
- TTransaction::open('pharmapedr');
- $response = array();
- // define o critério
- $criteria = new TCriteria;
- $criteria->add(new TFilter('id', '=', $request['cod']));
- $criteria->add(new TFilter('cliente_id', '=', $request['repre']));
- // carrega o cliente especificado em cod do representante informado (repre)
- $all = ClientesRepre::getObjects( $criteria );
- foreach ($all as $cliente)
- {
- $response[] = $cliente->toArray();
- }
- TTransaction::close();
- return $response;
- }
- }
- ?>
O retorno:
{"status":"success","data":[{"cliente_id":"2","user_id":"2","razao_social":"u00a0ARPOADOR COMERCIO DE MEDICAMENTOS LTDA","fantasia":"FARMu00c1CIA SANTA LUCIA","endereco":"Rua Professor Quintiliano","numero":"11","complemento":"","bairro_id":"1","cidade_id":"3112","uf_id":"11","cep":null,"tipo_pessoa":"J","cpf_cgc":"27.326.719/0036-","inscricao_est":null,"vr_limite_credito":"0","vr_saldo":"0","vr_ult_compra":"0","dt_ult_compra":null,"tipo_bloqueio":"1","tipo_atividade":"1","observacoes":null,"recebe_sms":"S","envia_email":"S","vip":"S","email":null,"web_site":null,"pontos_avaliacao":null,"data_cadastro":"2018-05-15","dt_desativacao":null,"ativo":"S","id":"4"},{"cliente_id":"2","user_id":"2","razao_social":"u00a0ARPOADOR COMERCIO DE MEDICAMENTOS LTDA","fantasia":"FARMu00c1CIA SANTA LUCIA","endereco":"Rua Bernardo Horta","numero":"270","complemento":"","bairro_id":"18","cidade_id":"3112","uf_id":"11","cep":null,"tipo_pessoa":"J","cpf_cgc":"27.326.719/0037-","inscricao_est":null,"vr_limite_credito":"0","vr_saldo":"0","vr_ult_compra":"0","dt_ult_compra":null,"tipo_bloqueio":"1","tipo_atividade":"1","observacoes":null,"recebe_sms":"S","envia_email":"S","vip":"S","email":null,"web_site":null,"pontos_avaliacao":null,"data_cadastro":"2018-05-15","dt_desativacao":null,"ativo":"S","id":"5"}
Alguém sabe como resolver o problema?
tem que formatar o retorno seja convertendo os caracteres ou removendo os acentos
para o caso de querer devolver com os acentos veja a DOC do PHP
php.net/manual/es/function.json-encode.php
Exemplo: json_encode($array, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
Willian, já tentei todas as combinações do json_encode, inclusive a sugestão no site do PHP.
To get a really clean json string use these three constants like so:
Meu código de retorno modificado, return json_encode($response, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_NUMERIC_CHECK) E o resultado é o mesmo:
{"status":"success","data":"[{"cliente_id":2,"user_id":2,"razao_social":"u00a0ARPOADOR COMERCIO DE MEDICAMENTOS LTDA","fantasia":"FARMu00c1CIA SANTA LUCIA","e"
não pode ser o mesmo pois o codigo de testes esta correto, seu codigo deve estar passando por outro lugar, cada o tal STATUS = success e o tal DATA que no seu codigo de exemplo não vejo?????
verifique no rest.php
Willian, aqui está o código atualizado: vem do rest.php do Adianti
Estou colocando as tags
mas tu ta formatando no lugar errado rsrsrsr
tem que formatar aqui
rsrs, vc tem toda razão, cara, cabeça fervendo desde ontem, nem me atentei a isso!
Vlew Wilian, tô devendo o café, rsrs!