2016-03-03 74 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);