关于Laravel中使用response()方法调用json()返回数据unicode编码转换的问题解决

时间:2021-12-02 07:35:15

在网上找了好久没有找到,之后一步一步测试,发现了Laravel还是很强大的,解决方案如下:

public function response(){
// 返回json数据
$data = [
'errCode' => 0,
'errMsg' => '这是一条错误信息',
'data' => '这是一条数据信息',
];
return response()->json($data)->setEncodingOptions(JSON_UNESCAPED_UNICODE);
}

返回结果是:

{"errCode":0,"errMsg":"这是一条错误信息","data":"这是一条数据信息"}

改进:

你的方法每次都要设置一次麻烦,而且json请求时,验证表单通不过时,laravel自动响应的汉字还是默认的 这个方法一劳永逸,彻底解决,直接 文件vendor\laravel\framework\src\Illuminate\Http\JsonResponse.php的构造函数
$this->encodingOptions = $options;//修改前
$this->encodingOptions = JSON_UNESCAPED_UNICODE;//修改后
改一次就够了

 

原文:https://blog.csdn.net/ancestry_hacker/article/details/81539545