Serialization Laravel使用å序列化模型äö;对于redis队列中的作业,抛出错误

Serialization Laravel使用å序列化模型äö;对于redis队列中的作业,抛出错误,serialization,laravel-5.2,Serialization,Laravel 5.2,我有一个基本的工作,需要一个数字和一条信息,然后存储这个。一切正常,除非消息包含像åäö这样的瑞典字符,否则我最终会出现以下错误: exception 'ErrorException' with message 'Undefined index: job' in /Library/WebServer/Documents/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php:125 这就是我的工作 namespace App\Job

我有一个基本的工作,需要一个数字和一条信息,然后存储这个。一切正常,除非消息包含像åäö这样的瑞典字符,否则我最终会出现以下错误:

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");
        }
    }

如何在Laravel作业中存储像åäö这样的字符?

只要使用UTF-8编码,Laravel 5.2中的序列化模型将支持åäö。如果您遇到此错误,您的åäö字符可能正在使用ISO-8859-1编码或其他编码

我的问题的解决方案是,只需在可能有åäö的文本上使用utf8_encode()

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

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