php – json_encode()不能很好地显示阿拉伯字符

参见英文答案 > UTF-8 all the way through13个
我有阿拉伯字符的问题,当我做json_encode()它总是返回????,在数据库中所有字段和数据库是utf8

我的代码

$query   = MysqL_query("SELECT * FROM `Names`");

if (!$query) {
$message  = 'Invalid query: ' . MysqL_error() . "\n";
die($message);
}else
{
    while ($row = MysqL_fetch_assoc($query)) 
    {
     $result[] = array(
        'Mid' => $row['Mid'],'Uid' => $row['Uid'],'Cid' => $row['Cid'],'Name' => $row['Name'],'city' => $row['city'],'status' => $row['status'],'Mobile' => $row['Mobile'],'Phone' => $row['Phone'],'Email' => $row['Email']);
    }
      header('Content-Type: application/json; charset=utf-8');
      echo json_encode($result);
}

结果如下:

[{"Mid":"17","Uid":"1","Cid":"8","Name":"???? ?? ??????? ?? ???","city":"?????",

请帮我

在发送查询之前尝试此操作
MysqL_query("SET NAMES 'utf8'");

或者这个(如果您的PHP版本是5.4.0)

json_encode($result,JSON_UnesCAPED_UNICODE);

注意:如果您的数据以十六进制格式存储,请将json_econde与MysqL_escape_string()括起来

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...