Jquery, Ajax, php, Datatable UTF-8 проблема с кодировкой - PullRequest
0 голосов
/ 13 июня 2018

Я использую DataTabels с PHP, AJAX, jQuery.

Я получаю некоторые данные из базы данных MySQL, и когда она содержит некоторые специальные символы, происходит сбой (такие символы, как символы и т. Д.).

Вот где я «извлекаю данные» из моей таблицы:

function fetch_data()
{
   var dataTable = $('#user_data').DataTable({
     "processing" : true,
     "serverSide" : true,
     "order" : [],
     "ajax" : {
       url:"fetch.php",
       type:"POST"
     }
   });
}

, и это мой fetch.php, где я делаю вывод:

$output = array(
 "draw"    => intval($_POST["draw"]),
 "recordsTotal"  =>  get_all_data($connect),
 "recordsFiltered" => $number_filter_row,
 "data"    => $data
);

echo json_encode($output);

Я пытался добавить

contentType: "application/json; charset=utf-8",
dataType: "json",

К fetch_data функции, но тогда мой результат просто опустел ... Где я не прав?

1 Ответ

0 голосов
/ 13 июня 2018

Я полагаю, у вас есть запрос MySQL в функции get_all_data, я предлагаю добавить mysqli_set_charset($connection, "utf8"); к вашему соединению mysql. Некоторые вещи, подобные приведенным ниже, решат вашу проблему

$connection = new mysqli($server, $user, $pass, $database);
mysqli_set_charset($connection, "utf8");

, также вы можете попробовать json_encode( $output, JSON_UNESCAPED_UNICODE ); вместо json_encode($output);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...