Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP json_编码和utf8_编码不适用于我的PHP文件_Php_Json - Fatal编程技术网

PHP json_编码和utf8_编码不适用于我的PHP文件

PHP json_编码和utf8_编码不适用于我的PHP文件,php,json,Php,Json,我有一些json我需要编码-越南语单词。我尝试使用JSON_UNESCAPED_UNICODE,但看起来它不再工作了 header("Content-type: application/json; charset=utf-8"); $db = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD,DB_DATABASE) or die(mysqli_connect_errno()); $result = mysqli_query($db,"SE

我有一些json我需要编码-越南语单词。我尝试使用JSON_UNESCAPED_UNICODE,但看起来它不再工作了

  header("Content-type: application/json; charset=utf-8");
  $db = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD,DB_DATABASE) or die(mysqli_connect_errno());
  $result = mysqli_query($db,"SELECT * FROM categories") ;
  if (mysqli_num_rows($result) > 0) {
    $response["categories"] = array();
    while ($row = mysqli_fetch_array($result)) {
       $categories["id"] = json_encode($row["id"]);
       $categories["name"]= json_encode($row["name"],JSON_UNESCAPED_UNICODE);
       array_push($response["categories"], $categories);
    }
    $response["result"] = "OK";
    $myJSON = json_encode($response);
    echo $myJSON;
  }
输入:

id=1 name=Truyệ北卡罗来纳州ổ 蒂奇

输出:

id=1 name=false

这是我第一次尝试PHP。我的php版本是7.2.8

  • 第一次运行mysqli\u查询('SET NAMES utf8')
  • 通过
    json\u last\u error()打印错误信息

  • 您必须配置connectsql,使其能够编码set
    mysqli\u set\u字符集($con,“utf8”)

    由于提到我,@RobbieAverill可能重复。我看到了。但不要和我一起工作,什么都没发生。没有显示任何错误。Json字符串打印很好,但仍然使用“Truy”获取falseệ北卡罗来纳州ổ 用“Truy”得到“Truy?n Th?n Tho?i”ệ第n条ầ丁寿ạ我“