Php 使用{{}时的Laravel 5.6 htmlspecialchars
我最近将一个项目从Laravel5.5升级到了5.6,我有一些编码字符,比如“以前没有过”。如果我再次降级到Laravel5.5,保持一切不变(只需降级两个包以使其兼容),字符将按预期显示 我已经检查了文档,它在5.5和5.6中提到了关于{{}和{!!!!}的相同内容: 升级之前,数据库连接已设置为使用utf8mb4作为字符集,utf8mb4_unicode_ci作为排序规则Php 使用{{}时的Laravel 5.6 htmlspecialchars,php,mysql,laravel,laravel-blade,Php,Mysql,Laravel,Laravel Blade,我最近将一个项目从Laravel5.5升级到了5.6,我有一些编码字符,比如“以前没有过”。如果我再次降级到Laravel5.5,保持一切不变(只需降级两个包以使其兼容),字符将按预期显示 我已经检查了文档,它在5.5和5.6中提到了关于{{}和{!!!!}的相同内容: 升级之前,数据库连接已设置为使用utf8mb4作为字符集,utf8mb4_unicode_ci作为排序规则 你知道为什么这会发生在Laravel 5.6中吗?一个(快速)解决方案是将{{}替换为{!!!!}或{html_enti
你知道为什么这会发生在Laravel 5.6中吗?一个(快速)解决方案是将{{}替换为{!!!!}或{html_entity_decode($text,entu QUOTES)}},但我觉得可以做一些更一般的事情。请阅读此处的升级指南: 您的问题的答案在
Blade>HTML实体编码中
在您的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();
}
}
谢谢,这已经解决了大多数情况