首页 > 解决方案 > JSON UNESCAPED UNICODE 不适用于 Laravel Nova 管理面板中的文本字段

问题描述

我正在使用Laravel Nova开发一个网络管理面板。

我遇到了一个关于将日文字符保存到数据库的问题。

我的环境如下:

我的情况如下:

  1. 创建数据库(设置 UTF8mb4 Unicode 排序规则)
  2. 创建模型和迁移文件(名为“区域”的表。)

    php artisan make:model Area --migration
    
  3. 修改“区域”迁移文件。创建 4 列(id、name、created_at、updated_at)

  4. 在 Nova 管理面板中定义资源。

    php artisan nova:resource Area
    
  5. 修改 Nova 的资源文件。将此脚本添加到文件中。

    public function fields(Request $request){
        return [
            ID::make()->sortable(),
    
            Text::make('Name')
               ->sortable()
               ->rules('required', 'max:24')
        ];
    }
    
  6. 从 Nova 管理面板插入日语数据。我输入了日语单词“北海道”。 在此处输入图像描述

  7. 点击更新按钮后,存储在数据库中的数据会出现乱码。我还想说乱码字符集是“iso-8859-1”。在此处输入图像描述

那是我的问题。我想在 Nova 的管理面板中操作和管理日语数据!

当然,我能够从 Stack Overflow 中找到一些有用的问题。例如, Laravel 5 模型 $cats 到数组 utf-8 JSON_UNESCAPED_UNICODE。它被告知如何覆盖模型中的“toJson”函数,但它无法参与 Laravel Nova。

面对这样的多语言问题,很多日文参考文献都指出“ To disable Unicode escaping in Laravel's json response. ”。但它也没有奏效。

所以问题是“停止在 Laravel Nova 的 json 响应中转义 Unicode”。但是我不确定要修改哪个文件或哪个功能....

如果有人知道解决方案,如果您能给我提示或解决方案,我将不胜感激。

谢谢你。

标签: phplaravelunicodelaravel-novautf8mb4

解决方案


推荐阅读