微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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()括起来

原文地址:https://www.jb51.cc/php/135900.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐