在mysql中存储中文时一般用UTF8的编码方式,而用此编码方式存储emoji表情时,会出现乱码或插入失败,缘由是utf8编码部支持emoji表情,至于为何不支持,可参考这篇文章:mysql utf8mb4与emoji表情,所以须要将utf8编码换成utf8mb4,步骤以下:php
ALTER TABLE `TABLE_NAME` MODIFY `COLUMN_NAME` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
config/databases.php
中设置mysql链接的编码'mysql' => [ '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' => 'FN_', 'strict' => false, 'engine' => null, ],
ok,如今就能在mysql中存储emoji表情了mysql
原文地址:itisfun.xyzlaravel