Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sacjamm

Ajuda com Json e PHP

Recommended Posts

Prezados, estou fazendo um sistema de autopreenchimento de campos pelo cpf, para campos inputs, estou utilizando um exemplo do:

http://wbruno.com.br/ajax/input-preenche-formulario-ajax/

exatamente igual, só que eu estou retornando vários dados da tabela, e no meu arquivo php que faz a consulta para retornar em json, aparece

o seguinte erro:

Pessoal na verdade não é um erro, mais deve ser corrigido e irei explicar porque:

{"user_id":"2","user_name":"Alisson","user_apelido":"alissomoreno","user_email":"sac.jamm@gmail.com","user_nasc":"1989-04-15","user_cep":"40760-170","user_rua":"Rua S\u00e3o Jo\u00e3o"}

Notem que no último valor do array eu tenho:

"user_rua":"Rua S\u00e3o Jo\u00e3o",

nesta parte aí o campo de rua ao invés de ser preenchido está retornando em branco, mais pra que o valor de user_rua chegasse com esse valor, que não estava chegando eu utilizei uma função nativa do php

mysqli_set_charset($db, 'utf8');

Então com essa função eu tenho esse retorno.

A questão agora é: Como eu faço pra retornar o valor normal nesse array, utilizando o próprio json para retornar o valor, correto no campo de input?

Vale lembrar que o tipo de codificação utilizada no meu banco de dados é utf8_general_ci, onde está rua na tabela está escrita dessa forma: Rua São João.

Agradecimentos,

Espero que alguém possa me ajudar de tal forma

Compartilhar este post


Link para o post
Compartilhar em outros sites
...
$result->execute(); 


while ($rows = $result->fetch(PDO::FETCH_ASSOC)){


$record[] = $rows;




}


utf8_encode_deep($record);


function utf8_encode_deep(&$input) {
if (is_string($input)) {
$input = utf8_encode($input);
} else if (is_array($input)) {
foreach ($input as &$value) {
utf8_encode_deep($value);
}


unset($value);
} else if (is_object($input)) {
$vars = array_keys(get_object_vars($input));


foreach ($vars as $var) {
utf8_encode_deep($input->$var);
}
}
}


var_dump($record);


$companysTxt = "C:\wamp\www\Sample\dashboard\dist\json\indicador\companys.json";
$companysFile = fopen($companysTxt, 'w') or die("Arquivo não encontrado!");
$jsonData = json_encode($record, JSON_UNESCAPED_UNICODE);
fwrite($companysFile, $jsonData);
fclose($companysFile);

O problema é quando transforma um arquivo para JSON, ele não consegue transferir a acentuação para o .json, olhe esse veja se ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.