首页 > 解决方案 > laravel 3 utf8mb4 支持

问题描述

我们需要对使用 MySQL 5.5 的旧版 Laravel 3 系统提供 emoji 支持——我们相信该表支持 utf8mb4,因为它在更新表后存储了一个没有错误的 emoji 字符,我们可以在 MySQL Workbench 中看到该值。

?我们在前端收到一个字符而不是表情符号,并从 Laravel 3 收到 http 响应,因此我们怀疑那里缺乏支持。

有没有办法更新 Laravel 3 配置来支持这个?我们现阶段无法更新到更高版本。

标签: mysqllaravelutf-8utf8mb4

解决方案


在文件 config/database.php 中:'mysql' => [..., 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', ...]

如果您想记录查询的 MYSQL,可以使用:\DB::enableQueryLog(); 在查询之前: logger(\DB::getQueryLog() ); 然后。这会将查询保存到你的 laravel 日志文件 Navicat

旧版本的 Navicat 有 utf8 选项,但没有 utf8mb4 选项。所以,如果你需要utf8mb4,... 在navicat 连接的编码选项中,选择“使用mysql 编码”,而不是“utf8”。

另请参阅“ UTF-8 字符问题”中的“问号” ;我看到的不是我存储的


推荐阅读