改变Laravel的charset

时间:2016-10-10 13:38:28

标签: php laravel encoding character-encoding laravel-5.2

有没有办法在Laravel Framework中将默认字符集(UTF-8)更改为ISO-8859-1?

我已经尝试过:

向路线添加标题;

$headers = array("Content-Type: text/html; charset=iso-8859-1");
Route::get('/notificacao/nova','NotificacaoController@nova', $headers);

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题并解决了它在Content-Type charset 标题中添加了一个用ISO-8859-1替换UTF-8的中间件。

我创建了一个名为CharsetMiddleware的新中间件类,其中包含以下内容:

namespace App\Http\Middleware;

use Closure;

class CharsetMiddleware
{
    public function handle($request, Closure $next)
    {
        $response = $next($request);
        $contentType = $response->headers->get('Content-Type');
        if (!empty($contentType)) {
            $response->header('Content-Type', str_replace('UTF-8', 'iso-8859-1', $contentType));
        }
        return $response;
    }
}

我把它放在 app / Http / Middleware / 文件夹中,然后在 app / Http / Kernel.php 类中添加了{{{}末尾的类引用1}}数组属性,如下所示:

$middleware