mysql - laravel 3 utf8mb4 支持
问题描述
我们需要对使用 MySQL 5.5 的旧版 Laravel 3 系统提供 emoji 支持——我们相信该表支持 utf8mb4,因为它在更新表后存储了一个没有错误的 emoji 字符,我们可以在 MySQL Workbench 中看到该值。
?
我们在前端收到一个字符而不是表情符号,并从 Laravel 3 收到 http 响应,因此我们怀疑那里缺乏支持。
有没有办法更新 Laravel 3 配置来支持这个?我们现阶段无法更新到更高版本。
解决方案
在文件 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 字符问题”中的“问号” ;我看到的不是我存储的
推荐阅读
- javascript - 为什么 let 和 var 在这个闭包中产生不同的结果?
- lua - Lua - Love2d 没有响应?
- java - 获取非 Spring Java 应用的详细 Metrics 数据
- laravel-5 - 在 Laravel 的数据库中存储配置
- react-native - 一起使用堆栈和底部导航器反应原生
- react-native - 如何在有天赋的聊天中显示浮动图标
- java - 无法传输工件 org.springframework.boot 并且传输失败
- php - 如何为codeigniter中的特定列数据赋予颜色?
- css - 已正确连接,但无法正常工作 - CSS 切换
- azure - Azure - 无法在事件上运行 LogicApp