![](/img/trans.png)
[英]htmlspecialchars error when using multiple translation files in laravel
[英]Laravel 5.6 htmlspecialchars when using {{ }}
我最近将一个项目从Laravel 5.5升级到5.6,我有一些像之前没有的编码字符。 如果我再次降级到Laravel 5.5,保持一切相同(只需降级几个软件包以使它们兼容),字符就会按预期显示。
我查看了文档,并在5.5和5.6中提到了{{}}和{!! !!}: https : //laravel.com/docs/5.6/blade#displaying-data
数据库连接是,并且在升级之前,设置为使用utf8mb4作为字符集并使用utf8mb4_unicode_ci作为排序规则。
知道为什么Laravel 5.6会发生这种情况吗? 一个(快速)解决方案是用{!!替换{{}} !!}或{{html_entity_decode($ text,ENT_QUOTES)}}但我觉得可以做一些更通用的事情。
阅读升级指南: https : //laravel.com/docs/5.6/upgrade
您的问题的答案在Blade > HTML Entity Encoding
。
在您的app/Providers/AppServiceProvider.php
,添加此代码Blade::withoutDoubleEncoding();
在启动功能中。 这是整个文件:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Blade::withoutDoubleEncoding();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.