帮助程序函数和在 Laravel 中发送带有重定向的变量的问题



我的辅助函数swe_date有问题。 它不输出任何内容。 如果我不使用它,一切都很好。

我已经完成了作曲家转储自动加载的事情,并把 "app/helpers.php"在 composer.json 文件中。

我的帮助程序函数如下所示。

if (! function_exists('swe_date'))
{
function swe_date($date)
{
setlocale(LC_TIME, 'sv_SV');
return strftime('%A %d %B %Y %H:%M',strtotime($date));
}
}

我的控制器,我尝试使用我的辅助函数发送我的变量。 请注意,当我做一个dd(swe_date($suspended->suspended_until))时,我得到: B"Söndag 22 九月 2019 00:00" 不知道"b"从何而来。

$date = swe_date($suspended->suspended_until);
//dd(swe_date($suspended->suspended_until));
return redirect('/login')->with('date',$date);

我尝试显示消息的视图。

@if(Session('date'))
<div class="bg-danger mb-2 text-center text-white">
{{Session('date')}}
</div>
@endif

作曲家.json

"autoload": {
"psr-4": {
"App\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
],
"files": [
"app/helpers.php"
]
},

从 php.net:

"区域设置"始终取决于服务器配置

服务器需要支持区域设置字符串。

有时语言有不同的字符集,例如 "pt_BR.utf-8">

因此,如果您的服务器是Windows,请尝试:

setlocale(LC_ALL, 'sv-SE.utf-8');

在 Linux 上尝试:

setlocale(LC_ALL, 'sv_SE.utf-8');

我认为 UTF-8 将解决您的"b"问题。

同样在 Linux 上,请确保您的语言受支持 "sudo locale -a">

如果没有,请按照此操作进行安装

最新更新