json_encode不工作uft8内容php

时间:2017-12-30 19:51:56

标签: php mysql json utf-8

我必须显示本地数据库中的json数据,这是Bangla字体。当正常打印此数据时它正在工作,但是当使用json_encode然后没有显示正确的数据时,表字段设置为uft8。

这是我尝试过的代码:

$mysqli = new mysqli("localhost", "root", "", "newspaper");
mysqli_set_charset($mysqli,"utf8");
$stmt = $mysqli->prepare("SELECT news_title FROM news_content ORDER BY id DESC limit 2");
$stmt->execute();
$result = $stmt->get_result();

while ($myrow = $result->fetch_assoc()) {
    $data[] =  $myrow['news_title'];
}
print_r($data);
echo json_encode($data);

这是print_r($data);时的输出:

Array
(
    [0] => বুলবুলির ছানা
    [1] => টনি ডায়েসের প্রিয় সামিনা চৌধুরী, মেয়ের সেলেনা গোমেজ
)

和:

 echo json_encode($data); 

输出是:

["\u09ac\u09c1\u09b2\u09ac\u09c1\u09b2\u09bf\u09b0 \u099b\u09be\u09a8\u09be","\u099f\u09a8\u09bf \u09a1\u09be\u09df\u09c7\u09b8\u09c7\u09b0 \u09aa\u09cd\u09b0\u09bf\u09df \u09b8\u09be\u09ae\u09bf\u09a8\u09be \u099a\u09cc\u09a7\u09c1\u09b0\u09c0, \u09ae\u09c7\u09df\u09c7\u09b0 \u09b8\u09c7\u09b2\u09c7\u09a8\u09be \u0997\u09cb\u09ae\u09c7\u099c"] 

我也尝试过:

echo json_encode($data, JSON_UNESCAPED_UNICODE);

和:

header('Content-Type: application/json');
echo json_encode($data, JSON_UNESCAPED_UNICODE);

我不确定是哪个问题,所以任何帮助对我都有帮助。

1 个答案:

答案 0 :(得分:2)

正确的方法是将json_encodeJSON_UNESCAPED_UNICODE标志一起使用。 然后不会转义Unicode字符。