[英]mysqli_query result to JSON. How to apply htmlentities()?
我有這段代碼,我用它來填充來自另一個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()
應用於整個數組。
您可以為此使用array_walk_recursive
。
array_walk_recursive($arr, function(&$item, $key) {
$item = htmlentities($item);
});
試試這個
echo json_encode($arr, JSON_UNESCAPED_UNICODE);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.