我有以下代码进行查询。
include_once 'conexion.php';
$sql = "SELECT * FROM herramientas";
$resultado = mysqli_query($conn, $sql);
if (!$resultado) {
die("Error");
} else {
while ($data = mysqli_fetch_assoc($resultado)) {
$arreglo["data"][] = $data;
}
echo json_encode($arreglo);
}
mysqli_free_result($resultado);
mysqli_close($conexion);
我认为这是因为口音而给我一个错误,但事实并非如此。它向我抛出以下错误DataTables warning: table id=dataTable - Invalid JSON response
。但如果我在另一张桌子上表演,它对我来说很好。应该是因为字段的格式或内容吗?
var table = $('#dataTable').DataTable({
"destroy": true,
"ajax": {
"method": "POST",
"url": "include/JSON.php"
},
"order": [
[0, "desc"]
],
"columns": [
{
"data": "Codigo"
}, {
"data": "Estado"
}, {
"data": "Descripcion"
}],
"language": idioma_espanol
});
我已经加了JSON_UNESCAPED_UNICODE
解决方案
$tabla = "";
if (!$resultado) {
die("Error");
} else {
while ($data = mysqli_fetch_assoc($resultado)) {
// $arreglo["data"][] = $data;
$tabla.='{"Codigo":"'.$data['Codigo'].'","Estado":"'.$data['Estado'].'"},';
}
$tabla= substr($tabla,0,strlen($tabla)-1);
echo '{"data":['.$tabla.']}';
//echo json_encode($arreglo,JSON_UNESCAPED_UNICODE);
}
mysqli_free_result($resultado);
mysqli_close($conexion);
如果您不想将特殊字符转换为 \u 格式,我不太了解您遇到的问题....
接收器必须反转编码,通常它会自动执行,例如在 php 中使用 json_decode(data_json) 将其转换为毫不费力。
但是您仍然希望它们不被转换,请使用 JSON_UNESCAPED_UNICODE 选项
测试
您还可以通过执行以下操作来确保不会出现任何奇怪的字符:
在这里你有文档文档