欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

apache - ajax +json +php提交mysql数据库 中文乱码(wamp server 本地测试)求解?

程序员文章站 2022-06-16 11:51:30
...
 之前用普通表单提交注册数据的时候就没有这个问题,请问是因为使用了ajax或者是json相关的格式转换函数的时候出现的错误吗?

问题如图:
apache - ajax +json +php提交mysql数据库 中文乱码(wamp server 本地测试)求解?

代码如下:

$('#pro-edit-done').bind('click', function() 
    {
    //获取要传递的数据
        var prodata = {};
        prodata.lid = ;
        console.log(prodata.lid);
        prodata.id = $("#pro_id").val();
        prodata.name = $("#pro_name").val();
        var data = JSON.stringify(prodata);
        console.log(data); 
        $.ajax
        ({  
        type: "POST",  
        url : "./pro-edit-php.php",  
        data: {data}, 
        success:function(data)
        {
        console.log(data);
        $('.pro-name').text(prodata.name);
        }
        });
    });
});

php文件:
 id;
$lid = $data->lid;
$name =$data->name;

$query = "insert projects (proj_name,proj_leader_id) values ('$name','$lid')";
$tes_query = mysqli_query($link,$query); 
if ($tes_query) {
    echo $name;
}

?>

之前用普通表单提交注册数据的时候就没有这个问题,请问是因为使用了ajax或者是json相关的格式转换函数的时候出现的错误吗?

回复内容:

 之前用普通表单提交注册数据的时候就没有这个问题,请问是因为使用了ajax或者是json相关的格式转换函数的时候出现的错误吗?

问题如图:
apache - ajax +json +php提交mysql数据库 中文乱码(wamp server 本地测试)求解?

代码如下:

$('#pro-edit-done').bind('click', function() 
    {
    //获取要传递的数据
        var prodata = {};
        prodata.lid = ;
        console.log(prodata.lid);
        prodata.id = $("#pro_id").val();
        prodata.name = $("#pro_name").val();
        var data = JSON.stringify(prodata);
        console.log(data); 
        $.ajax
        ({  
        type: "POST",  
        url : "./pro-edit-php.php",  
        data: {data}, 
        success:function(data)
        {
        console.log(data);
        $('.pro-name').text(prodata.name);
        }
        });
    });
});

php文件:
 id;
$lid = $data->lid;
$name =$data->name;

$query = "insert projects (proj_name,proj_leader_id) values ('$name','$lid')";
$tes_query = mysqli_query($link,$query); 
if ($tes_query) {
    echo $name;
}

?>

之前用普通表单提交注册数据的时候就没有这个问题,请问是因为使用了ajax或者是json相关的格式转换函数的时候出现的错误吗?

连接成功后mysql进行一次set names utf8

在php文件中打印一遍var_dump $_POST接收到的数据看看有错没,然后检查数据库的编码charset是utf8还是别的,保证三码合一

  1. 前端获取到的数据是乱码的吗?

  2. 后端接收到的数据是乱码吗?

  3. 插入数据库前的数据是乱码吗?

逐步锁定产生乱码的地方,进行检查;