Laravel 5 charset在视图上无法正常工作.但是当我从控制器转储它时,它运行良好

And*_*lva 8 php utf-8 character-encoding laravel laravel-5

我在这里遇到了一个字符集问题.我正在开发一个使用sql server数据库的应用程序.数据库不是为这个应用程序创建的,它存在于它之前并且运行良好.我无法更改数据库上的任何内容,因为它太大而且被许多其他应用程序使用.
我已经完成了我的laravel 5应用程序的auth,所以我将创建一个视图并在此视图中显示已登录用户的名称.名称是:ADMINISTRADORDAACENTUAÇÃO.它使用一些特殊字符.
在我看来:

{!!Auth::user()->name!!} 
Run Code Online (Sandbox Code Playgroud)

表明:

行政大楼ACENTUU O

但是在我的控制器中,在我返回视图之前,我做了:

die(\Auth::user()->name);
Run Code Online (Sandbox Code Playgroud)

它告诉我:

行政大楼ACENTUAÇÃO

我现在尝试在我的视图文件中执行此操作:

    {!!Auth::user()->name!!}
<?php die();
Run Code Online (Sandbox Code Playgroud)

这很好用.它告诉我:

行政大楼ACENTUAÇÃO

它让我相信在解析视图之后laravel会发生错误.

我不知道为什么当我在控制器上死掉用户名时它运行良好,但是当我在视图上回显它的名字时它不起作用.

愿任何人帮助我吗?

PS:

  • 我的视图文件使用的是utf8字符集
  • 我试图用和没有html标签和charset meta回声.两种情况都会出现问题
  • 我试图删除我的视图文件并使用utf8 charset创建一个新文件.它不起作用.
  • 我尝试使用<?php echo Auth::user()->name; ?>刀片标签.它不起作用.

And*_*lva 4

我用这个问题解决了这个问题。我刚刚进入我的 AppServiceProvider 并放入 boot 方法:

Blade::setEchoFormat('e(utf8_encode(%s))');
Run Code Online (Sandbox Code Playgroud)

我不知道这是否是正确的方法,但它对我有用。