Eloquent ORM,如何在每个查询/连接上执行SET NAMES?

时间:2016-10-31 09:55:26

标签: laravel eloquent

我有一个使用Eloquent ORM的API。我们的数据库使用utf8mb4而不是utf8,以便它可以存储Emojis。

我遇到的问题是我需要在每个连接的开头调用以下查询,否则返回的结果或UTF8和Emojis中的结果显示为问号;

SET NAMES utf8mb4;

我们已经尝试在MySQL配置中进行设置,但由于某种原因,它无法正常工作。我们已经尝试过使用SUPER和非SUPER MySQL用户,但它并没有与众不同。我们可以让它工作的唯一方法是在进行常规查询之前先调用上面的查询。

1 个答案:

答案 0 :(得分:0)

尝试将config/database.php的mysql部分中的charset更改为utf8mb4

默认

 'charset' => 'utf8'

更改为

 'charset' => 'utf8mb4'