我有这个代码用于从另一个php页面填充带有ajax调用的select:
$id = $_GET["id"];
$sql = "SELECT town_name,
town_code
FROM tbtown
WHERE area_id = '$id'
ORDER BY town_name";
$result = mysqli_query($conn, $sql);
$arr = array();
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {
$arr[] = $row;
}
echo json_encode($arr);
某些town_name
列值包含è
ì
等字符,我发现在这些情况下json_encode()
函数将该值设置为NULL。
我还发现应用于每个数组值的htmlentities()
函数可以解决问题。
我想知道是否有一种简单的方法可以将htmlentities()
应用于整个数组。
答案 0 :(得分:1)
您可以使用array_walk_recursive
。
array_walk_recursive($arr, function(&$item, $key) {
$item = htmlentities($item);
});
答案 1 :(得分:0)
尝试这个,
echo json_encode($arr, JSON_UNESCAPED_UNICODE);