Laravel中的普通邮件和UTF-8字符

时间:2015-11-11 22:11:05

标签: laravel

当我发送Multipart邮件时,HTML视图会正确呈现,但是当我激活纯文本视图时,它不会呈现重音。如何使用Laravel以纯文本邮件发送重音?

用于发送邮件的方法

Mail::send(['html.blade.php', 'text.txt'], $data, $callback);

通过表单发送áéíóú会导致:

HTML

áéíóú

纯文字

áéíóú

这是文本视图内容:

text.blade.php

Information Request
====================================================

{{ $user_message }}

--
{{ $name }}
{{ $email }}

** This mail was sent from mysite.com **

我正以这种方式从控制器中检索信息:

WelcomeController.php

public function contact(ContactFormRequest $request)
{
  $data = array(
    'name' => $request->get('name'),
    'email' => $request->get('email'),
    'phone' => $request->get('phone'),
    'user_message' => $request->get('message')
  );

  Log::info('DEBUGGING $data['user_message']);

  \Mail::send(['emails.html', 'emails.text'], $data,
    function($message) use ($data) {
    $message->from($data['email'], $data['name']);
    $message->to('info@mysite.com', 'Webmaster / My Site')
      ->subject('Info Request');
  });
}

当我在表格上输入áéíóú时。 Log::info返回áéíóú

1 个答案:

答案 0 :(得分:0)

尝试使用{!! $var !!}代替{{ $var }}

刀片模板中的

{{ }}在显示之前运行htmlentities()

有关详细信息,请参阅此处:https://laravel.com/docs/5.1/blade#displaying-data