使用PHP Web服务以Marathi语言显示JSON数据

时间:2016-12-13 16:57:47

标签: php json

我有一个PHP Web服务,我在其中从mysql数据库中检索数据。在数据库中,数据以Marathi语言存储,但是当我在邮递员中运行我的Web服务时,数据即将到来,但会显示许多问号符号。如何解决这个问题?下面是我的PHP Web服务代码:

<?php

//include config_db.php
include_once('config_db.php');

$qr = "SELECT * FROM `recipe_breakfast`";
$qrResult  = mysqli_query($db, $qr);
$count = mysqli_num_rows($qrResult);

if($count > 0)
{
    while($data = mysqli_fetch_assoc($qrResult)) 
    {
                $result[] = $data;
        }
    $response = array('msg' => 'Success','details' => $result);
}
else
{
    $response = array('msg' => 'No details found');
}

@mysqli_close($db);

/* Output header */
header('Content-type: application/json');
echo json_encode($response);

?>

1 个答案:

答案 0 :(得分:1)

你有一个字符集问题。

在您的代码中,在此行之后:

include_once('config_db.php');

添加:

mysqli_query($db, 'set names utf8mb4');

如果您的数据库不支持utf8mb4,请改用:

mysqli_query($db, 'set names utf8');

这应该可以解决问题。

如果没有,您的表中也会出现问题。 解决方案是将每个varchartext列的排序规则设置为 utf8mb4_general_ci。 这意味着您必须重做数据条目。