【问题标题】:There is an error when importing data using the data table使用数据表导入数据时出错
【发布时间】:2020-06-03 06:00:27
【问题描述】:

使用数据表从数据库中导入数据。 但是,如果数据中有韩文,则会发生错误。这是为什么呢?

在此脚本代码中

jQuery(document).ready(function() {
    var table = jQuery('#developers').dataTable({
        "bProcessing": true,
        "sAjaxSource": "load_data.php",
        "bPaginate": true,
        "sPaginationType": "full_numbers",
        "iDisplayLength": 5,
        "aoColumns": [
            { mData: 'id' },
            { mData: 'name' },
            { mData: 'age' },
            { mData: 'gender' },
            { mData: 'address' },
            { mData: 'designation' },
            { mData: 'skills' }
        ]
    });
});

在这个 ajax 加载代码中

<?php
include_once("db_connect.php");
$sql_query = "SELECT id, name, gender, skills, address, designation, age FROM developers LIMIT 20";
$resultset = mysqli_query($conn, $sql_query) or die("database error:". mysqli_error($conn));
$developers_record = array();
// echo $developers_record;
while( $developer = mysqli_fetch_assoc($resultset) ) {
    $developers_record[] = $developer;
}
$developer_data = array(
    "sEcho" => 1,
"iTotalRecords" => count($developers_record),
"iTotalDisplayRecords" => count($developers_record),
  "aaData"=>$developers_record);

echo json_encode($developer_data);



exit;
?>

如果数据中有韩语,会出现如下错误:

如何解决这个错误??

添加结果

如果数据中没有韩语,则标记如下。

但是如果数据中有韩语,则表示如下。 没有任何标记。

【问题讨论】:

  • 能否提供返回的JSON?
  • @HagaiWild 添加 json 结果
  • @HagaiWild 我可以解决它添加 mysqli_set_charset($conn, "utf8");

标签: php jquery ajax datatable


【解决方案1】:

将单引号改为双引号,如下所示:

{
    "bProcessing": true,
    "sAjaxSource": "load_data.php",
    "bPaginate": true,
    "sPaginationType": "full_numbers",
    "iDisplayLength": 5,
    "aoColumns": [{
            "mData": "id"
        },
        {
            "mData": "name"
        },
        {
            "mData": "age"
        },
        {
            "mData": "gender"
        },
        {
            "mData": "address"
        },
        {
            "mData": "designation"
        },
        {
            "mData": "skills"
        }
    ]
}

这可能是问题所在。 json 标准说:“一个值可以是双引号中的字符串,也可以是数字,或者 true 或 false 或 null,也可以是对象或数组。”也许它可以解决问题。

【讨论】:

  • 只有这不是 JSON.. 所以你的答案是无效的。
  • 是的,Adrian 错过了第二个属性名称 - 但他的想法是正确的。一个很好的技巧是将任何 JSON 粘贴到合适的文本编辑器中,并将语法设置为 JSON - 然后查找突出显示的错误。
  • 感谢 Dycey 的解释!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-07
  • 2017-10-23
  • 2016-09-05
  • 1970-01-01
相关资源
最近更新 更多