douxu5845 2019-03-04 19:15
浏览 346
已采纳

在API资源层中使用JSON_UNESCAPED_UNICODE

when i want to return texts in api resource get the following response :

{"data":{"message":"\u۰۶۳۳\u۰۶۴۴\u۰۶۲۷\u۰۶۴۵ \u۰۶۲۸\u۰۶۳۱ \u۰۶۲a\u۰۶۴۸"},"status":۰}

this problem solved in response()->json when i add following code to response :

return 200, [], JSON_UNESCAPED_UNICODE

like:

return response()->json(['message' => 'my utf8 text'], 200, [], JSON_UNESCAPED_UNICODE);

but in api resource i can't add this code to response

api resource code:

    public function toArray($request) {
        return [
            'id' => $this->id,
            'userId' => $this->user_id,
            'title' => $this->title,
            'text' => $this->text,
            'isAccepted' => $this->is_accepted,
            'viewCount' => $this->view_count,
            'likeCount' => $this->like_count,
            'dislikeCount' => $this->dislike_count,
            'commentCount' => $this->comment_count,
            'createdAt' => date('Y-m-d H:i:s' , strtotime($this->created_at)),
        ];
    }

    public function with($request) {
        return [
          'status' => Status::SUCCESS
        ];
    }

how i can solve this problem ?

  • 写回答

2条回答 默认 最新

  • dongxie8856 2019-03-04 19:32
    关注

    Try to edit below function in "Illuminate\Http\JsonResponse.php"

    public function __construct($data = null, $status = 200, $headers = [], $options = 0)
    {
        $headers = ['Content-Type' => 'application/json; charset=UTF-8',
            'charset' => 'utf-8'];
        $options = JSON_UNESCAPED_UNICODE;
        $this->encodingOptions = $options;
    
        parent::__construct($data, $status, $headers);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题