PHP json_encode和utf8_encode与我的php文件不起作用

17 浏览
0 Comments

PHP json_encode和utf8_encode与我的php文件不起作用

我有一些需要编码的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ện Cổ Tích

输出:

id=1 name=false

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

0
0 Comments

在处理PHP文件时,有用户发现他们的PHP文件中的json_encode和utf8_encode函数无法正常工作。下面我们来分析一下问题的原因以及解决方法。

问题的原因是用户没有正确配置连接SQL,以使其能够编码设置为utf8。正确的配置方法是使用mysqli_set_charset函数来设置字符集,如下所示:

mysqli_set_charset($con,"utf8");

解决方法是在PHP文件中添加上述代码,以确保连接SQL时使用utf8字符集编码。这样一来,json_encode和utf8_encode函数就能够正常工作了。

通过以上的分析,我们可以得出结论:在PHP文件中使用json_encode和utf8_encode函数时,确保正确配置连接SQL的字符集编码是解决问题的关键。

0
0 Comments

问题:PHP的json_encode和utf8_encode在我的PHP文件中无效。

出现原因:可能是数据库连接未设置编码为utf8,导致json_encode无法正确编码特定字符。

解决方法:首先运行mysqli_query('SET NAMES utf8')来设置数据库连接的编码为utf8。然后,通过json_last_error()打印错误信息,确定错误原因。

0