$res=mysqli_query($conn, $sql);//$row['name']
while($row = mysqli_fetch_array($res))
   {
   // var_dump($row['name']);
   $result[]=array('id' => intval($row['id']),'name' => urlencode($row['name']));
   $res1[]=array('id' => intval($row['id']),'name' => $row['name']);
   }
   // var_dump($result);
   echo urldecode(json_encode($result));
   echo '<hr />';
   echo 1111;
   echo json_encode($res1,true); //这里输不出数据
mysqli_close($conn);

解决方案 »

  1.   

    经查询是这个问题,但是依然还是一脸懵逼数据库编码是utf-8,php文件编码也是UTF-8,到底哪个环节错了呢????
      

  2.   

    Report a bug 说明 
    string json_encode ( mixed $value [, int $options = 0 ] ) 
    返回 value 值的 JSON 形式
      

  3.   

    value 
    待编码的 value ,除了resource 类型之外,可以为任何数据类型 该函数只能接受 UTF-8 编码的数据 options 
    由以下常量组成的二进制掩码: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE. Report a bug 返回值 
    编码成功则返回一个以 JSON 形式表示的 string 或者在失败时返回 FALSE 。
      

  4.   

    var_dump($res1);
    看看结果
      

  5.   

    print_r($res1);
    echo json_encode($res1,true); print_r 能打印数据出来吗
      

  6.   

    是编码的问题,但是数据库的编码是utf_8的编码,取出的那个数据用json_encode解析不出来,明显是编码问题??但是编码问题在哪里呢
      

  7.   

    显然是 gbk 编码的