项目中有个评论功能,微信用户授权登录后,需要显示用户的昵称及评论内容。
用户的昵称和评论内容都会出现 Emoji 表情,目前我把存储评论的表改成了 utf8mb4 编码。
服务器环境: PHP7 + MySQL5.6 + Laravel 5.2
databases.php 配置文件
'mysql_utf8mb4' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => env('DB_PREFIX', 'pn_'),
'strict' => false,
'engine' => null,
],
comment 表的 Model
class Comment extends Model
{
protected $connection = 'mysql_utf8mb4';
protected $table = 'comment';
}
用 iPhone 测试输入了几个 Emoji 表情,存到 MySQL 的时候,显示成????一堆问号
请问怎样保存 Emoji 表情到 MySQL 数据库,再次查询的时候,页面中的 Emoji 表情能够在 PC 、 IOS 、安卓等设备上都可以正常显示呢?
相关扩展: https://github.com/unicodeveloper/laravel-emoji
这个扩展貌似只能根据名称和编码查询出 Emoji 表情。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.