How to handle accentuations?

How to handle accentuations?

E_BrandaoE_Brandao Posts: 12Questions: 5Answers: 0

I have a server side script to generate the table, but in my database some fields has characters like "ç" and "á", i noticed that its causing this error:
**DataTables warning: table id=DataTables_Table_0 - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1**

Here is my script:

$query1 = mysqli_query($conn1, "SELECT codigo FROM nota");

while( $notas_locais =mysqli_fetch_array($query1) ) {  
    $local = array(); 
    $local[] = $notas_locais["codigo"];
    $dados1[] = $local;
}

//Receber a requisão da pesquisa 
$requestData= $_REQUEST;

//Indice da coluna na tabela visualizar resultado => nome da coluna no banco de dados
$columns = array( 
    0 =>'Num_Nota',
    1 =>'descricaoTrasmp',
    2 =>'codTrasmp',
    3 =>'Cod_Ope'
);

//Obtendo registros de número total sem qualquer pesquisa
$result_user = "SELECT DISTINCT Num_Nota FROM nfscb";
$resultado_user =mysqli_query($conn, $result_user);
$qnt_linhas = mysqli_num_rows($resultado_user);

//Obter os dados a serem apresentados
$result_usuarios = "SELECT DISTINCT Num_Nota,descricaoTrasmp,codTrasmp,Cod_Ope FROM nfscb WHERE descricaoTrasmp NOT LIKE 'DEVOLU%' AND Num_Nota NOT IN ('301564')";

$str = "(";
foreach ($dados1 as $key => $value)
    $str.= $value[0].",";
$str.="0)";

if ($requestData['length'] == -1){
    $requestData['length'] = $qnt_linhas;
}

if( !empty($requestData['search']['value']) ) {   // se houver um parâmetro de pesquisa, $requestData['search']['value'] contém o parâmetro de pesquisa
    $result_usuarios.=" AND ( Num_Nota LIKE '".$requestData['search']['value']."%' ";
    $result_usuarios.=" OR codTrasmp LIKE '".$requestData['search']['value']."%' ";
    $result_usuarios.=" OR Cod_Ope LIKE '".$requestData['search']['value']."%' ";
    $result_usuarios.=" OR descricaoTrasmp LIKE '%".$requestData['search']['value']."%')";
    $result_usuarios.= " AND Num_Nota NOT IN $str ";
}else{
    $result_usuarios.= " And Num_Nota NOT IN $str ";
}

$resultado_usuarios=mysqli_query($conn, $result_usuarios);
$totalFiltered = mysqli_num_rows($resultado_usuarios);

//Ordenar o resultado
$result_usuarios.=" ORDER BY ". $columns[$requestData['order'][0]['column']]."   ".$requestData['order'][0]['dir']."  LIMIT ".$requestData['start']." ,".$requestData['length']."   ";
$resultado_usuarios=mysqli_query($conn, $result_usuarios);

// Ler e criar o array de dados
$dados = array();
while( $row_usuarios =mysqli_fetch_array($resultado_usuarios) ) {  
    $dado = array(); 
    $dado[] = $row_usuarios["Num_Nota"];
    $dado[] = $row_usuarios["descricaoTrasmp"];
    $dado[] = $row_usuarios["codTrasmp"];
    $dado[] = $row_usuarios["Cod_Ope"];
    $dados[] = $dado;
}

//Cria o array de informações a serem retornadas para o Javascript
$json_data = array(
    "draw" => intval( $requestData['draw']),//para cada requisição é enviado um número como parâmetro
    "recordsTotal" => intval( $qnt_linhas ),  //Quantidade de registros que há no banco de dados
    "recordsFiltered" => intval( $totalFiltered ), //Total de registros quando houver pesquisa
    "data" => $dados   //Array de dados completo dos dados retornados da tabela 
);

echo json_encode($json_data);  //enviar dados como formato json

This question has an accepted answers - jump to answer

Answers

  • kthorngrenkthorngren Posts: 21,172Questions: 26Answers: 4,923
    Answer ✓

    Did you follow the troubleshooting steps at the link in the error?

    Did you try https://jsonlint.com/ to tet the JSON response?

    Kevin

  • E_BrandaoE_Brandao Posts: 12Questions: 5Answers: 0
    edited July 2020

    I tryed now and the site said that is a valid JSON.

  • E_BrandaoE_Brandao Posts: 12Questions: 5Answers: 0
    edited July 2020

    Sorry, was a code error, one table of my database was empty

This discussion has been closed.