مشکل رسپانس فارسی در api لاراول

- 3 هفته پیش
توسط eMBi آپدیت شد
eMBi ( 2670 تجربه )
3 هفته پیش

سلام من وقتی متن فارسی رو در لاراول برمیگردونم خروجیش مشکل داره،
و به صورت زیر هست :

{"data":{"message":"\u0633\u0644\u0627\u0645 \u0628\u0631 \u062a\u0648"},"status":0}

راه حل چی هست ؟

بهترین پاسخ انتخاب شده توسط eMBi
eMBi
3 هفته پیش

@drcode.ir
مربوط به این موارد نبود،

رسپانس ها رو به صورت زیر ارسال کردم مشکل برطرف شد

return response()->json(['message' => 'matne farsi'], 200, [], JSON_UNESCAPED_UNICODE);

برای Api resource هم فایل vendor\laravel\framework\src\Illuminate\Http\JsonResponse.php رو به صورت زیر ویرایش کردم

public function __construct($data = null, $status = 200, $headers = [], $options = 0)
    {
        $this->encodingOptions = $options;

        parent::__construct($data, $status, $headers);
    }

به

public function __construct($data = null, $status = 200, $headers = [], $options = 0)
    {
        $options = JSON_UNESCAPED_UNICODE;
        $this->encodingOptions = $options;

        parent::__construct($data, $status, $headers);
    }

اینجوری دیگه نیازی هم نبود که به response()->json اون قطعه کد اضافه بشه

محمد صادقیان ( 16815 تجربه )
3 هفته پیش

این مشکل معمولا موقع ذخیره اطلاعات تو دیتابیس و بازخوانیش پیش میاد ولی نمی دونم دقیق این مورد کجا برای شما پیش اومده.
2 روش زیر رو تست کنید ولی مراحل کارتون رو دقیق بفرمایید بهتر میشه راهنمایی کرد :
json_decode

urldecode

این 2 تابع بالا می تونن مشکل رو رفع کنن.

eMBi ( 2670 تجربه )
3 هفته پیش

@drcode.ir
مربوط به این موارد نبود،

رسپانس ها رو به صورت زیر ارسال کردم مشکل برطرف شد

return response()->json(['message' => 'matne farsi'], 200, [], JSON_UNESCAPED_UNICODE);

برای Api resource هم فایل vendor\laravel\framework\src\Illuminate\Http\JsonResponse.php رو به صورت زیر ویرایش کردم

public function __construct($data = null, $status = 200, $headers = [], $options = 0)
    {
        $this->encodingOptions = $options;

        parent::__construct($data, $status, $headers);
    }

به

public function __construct($data = null, $status = 200, $headers = [], $options = 0)
    {
        $options = JSON_UNESCAPED_UNICODE;
        $this->encodingOptions = $options;

        parent::__construct($data, $status, $headers);
    }

اینجوری دیگه نیازی هم نبود که به response()->json اون قطعه کد اضافه بشه

برای ارسال پاسخ باید وارد سایت شوید