php json_encode不会返回任何内容

时间:2016-11-14 15:32:57

标签: php arrays json

我试图从数组中获取json_objects。我得到了我要转换的数组,但json_encode没有返回任何内容。

$result = mysqli_query($conn, $query);
$i = 1;
$country = array();
$countries = array();
if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_array($result)){
        echo $row['idPais']." ";
        echo $row['nombre']."<br>";

        $country = array(
                'idPais' => $row['idPais'],
                'nombre' => $row['nombre']
        );
        array_push($countries, $country);
    }
    print_r($countries);

    echo json_encode($countries,JSON_FORCE_OBJECT);
    }else{
    echo "false";
}

print_r($ countries)返回此数组:

Array ( [0] => Array ( [idPais] => 7 [nombre] => Espa�a ) 
        [1] => Array ( [idPais] => 8 [nombre] => Francia ) 
        [2] => Array ( [idPais] => 9 [nombre] => Portugal ) 
) 

1 个答案:

答案 0 :(得分:2)

问题在于我使用了'ñ'字符。为了与数据库一起使用,我必须将这一行放在我的代码中:

  

mysqli_set_charset($ conn,“utf8”);

谢谢大家。