2016-03-03 76 views
0

我有一个基本的工作,它需要一个数字和一条消息,然后将其存储。一切工作正常,除非消息包含瑞典字符,如氧化铝,然后我结束了以下错误:Laravel序列化模型与åäö在redis队列中的作业抛出错误

exception 'ErrorException' with message 'Undefined index: job' in /Library/WebServer/Documents/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php:125 

这是我的工作看起来像

namespace App\Jobs; 

use App\Jobs\Job; 
use Illuminate\Queue\SerializesModels; 
use Illuminate\Queue\InteractsWithQueue; 
use Illuminate\Contracts\Queue\ShouldQueue; 
use Log;  

class QueueIncoming extends Job implements ShouldQueue 
    { 
     use InteractsWithQueue, SerializesModels; 

     private $number; 
     private $message; 

     public function __construct($number, $message) 
     { 
      $this->number = $number; 
      $this->message = $message; 
     } 

     public function handle() 
     { 
      Log::info("QueueIncoming: started"); 
     } 
    } 

我怎么可以存储像AAO字符Laravel的工作?

+0

我忘了提及这里的$ message来自外部服务通过API。我相信这可以更快地解决我的问题。 – Matkey

回答

0

只要他们使用UTF-8编码,Laravel 5.2中的SerializesModels将支持åäö。如果遇到此错误,您的åäö字符可能会使用ISO-8859-1编码或其他编码。

我的问题的解决方案是简单地使用utf8_encode()上的文本可能有åäö。

$this->message = utf8_encode($message);