我正在使用mysql和php,这是发布数据的代码
app.controller('buscar', function ($scope, $http) {
$scope.postData = function () {
var request = $http({
method: "POST",
url: 'busqueda.php',
data: {
cedula:$scope.cedula
},
headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' }
}).then(function successCallback(response) {
$scope.datos = response.data;
console.log($scope.datos);
},function(response) {
$scope.error= response.statusText;
console.log($scope.error);
});
}
});
我的php是:
$sql1 = "(SELECT * FROM `presentadas` LEFT JOIN `desembolsos` ON presentadas.`CLI_IDENTIFICACION` = desembolsos.`IDENTIFICACION` WHERE presentadas.`CLI_IDENTIFICACION` = '".$cedula."')";
$result1 = $conn1->query($sql1);
if ($result1->num_rows > 0) {
while($row1 = $result1->fetch_assoc()) {
$datos1[]=$row1;
}
echo json_encode($datos1);
}else{
echo "No se encontraron datos en presentadas";
}
我发布了一个名为cedula的数字,这是我在db中搜索的think,它是对应的行,正如我所说,它对db中列出的一些数字有效,但对其他数字无效,在chrome的开发人员控制台中,当我用console.log()显示响应时,它什么也没有显示。图1:当失败时,点击控制台日志记录,它显示console.log($scope.datos)行中的错误,我猜它没有得到数据
图2:这是一个显示json响应的工作示例
我不知道为什么会有这种不一致。请帮帮我!!!!
2条答案
按热度按时间qij5mzcb1#
在查询之前,我在代码中设置了这一行
$mysqli->set_charset("utf8")
谢谢您ttcibm8c2#
重新:
Ñ is raplaced with �
用utf-8字符搜索有问题的“黑钻石”;我看到的不是我储存的它表示不是以utf-8开头,就是没有建立连接来声明客户端具有utf-8字节。
Ñ
拉丁文中1是十六进制D1
. 在utf8中,它是C391
.