【问题标题】:problem to show data mysql to json with php用php将数据mysql显示到json的问题
【发布时间】:2019-09-09 13:44:19
【问题描述】:

我有一个使用集合 utf8-general-ci 的波斯语数据库,但是当我在代码下面运行时,我遇到了 ????插入波斯语单词。

<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$conn = new mysqli("localhost", "root", "", "testinsta");
$result = $conn->query("SELECT m_1, m_2, m_3 FROM codecode");
mysqli_query($conn, "SET NAMES utf8");
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
  if ($outp != "") {$outp .= ",";}
  $outp .= '{"Name":"'  . $rs["m_1"] . '",';
  $outp .= '"City":"'   . $rs["m_2"]        . '",';
  $outp .= '"Country":"'. $rs["m_3"]     . '"}';
}
$outp ='{"records":['.$outp.']}';
$conn->close();
echo($outp);
?>

mysql转json有php问题

【问题讨论】:

  • 不要手动构建json。构建一个数组并使用json_encode()将其转换为json。

标签: php mysql json


【解决方案1】:

你可以这样做,

$conn = new mysqli("localhost", "root", "", "testinsta");
$conn->set_charset("utf8");

并删除下面的行,

mysqli_query($conn, "SET NAMES utf8");

现在检查一下。

这里是关于Whether to use “SET NAMES”的简要细节。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    相关资源
    最近更新 更多