如何使用 Laravel 和 Orm 查询在数据库中存储表情符号字符串
How to store emoji string in Database using Laravel with Orm Query
我想像 emotive 一样在数据库中存储特殊字符,反之亦然,但是当我尝试在数据库中保存时,我得到了问号。
在您的 database.php
文件中,确保将 charset
和 collation
设置为 utf8mb4
:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
你的表情符号列应该是一个字符串:
$table->string('emoji');
1) 确保您使用的是 MYSQL 5.5.3 或更高版本,然后您可以将排序规则更改为 utf8mb4_something、
2) 确保将接收表情符号的 table 列的排序规则设置为 utf8mb4_something
如果您仍然有问题,请编辑您的 database.php 配置文件并更新以下内容,
'charset' = 'utf8mb4';
'collation' = 'utf8mb4_unicode_ci'
除了上述答案之外,请确保清除缓存并迁移刷新以更新 MySQL 表。
如果您正在使用websocket聊天和发送表情包,那么您需要重启websocket。
您可以找到并杀死所有 websocket 进程,例如
sudo kill (Your PID)
没有圆括号。
而对于 ?马克,没关系,因为有些浏览器,或者MySQL编辑器不支持表情符号,所以他们给你看问题(?)马克。
我想像 emotive 一样在数据库中存储特殊字符,反之亦然,但是当我尝试在数据库中保存时,我得到了问号。
在您的 database.php
文件中,确保将 charset
和 collation
设置为 utf8mb4
:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
你的表情符号列应该是一个字符串:
$table->string('emoji');
1) 确保您使用的是 MYSQL 5.5.3 或更高版本,然后您可以将排序规则更改为 utf8mb4_something、
2) 确保将接收表情符号的 table 列的排序规则设置为 utf8mb4_something
如果您仍然有问题,请编辑您的 database.php 配置文件并更新以下内容,
'charset' = 'utf8mb4';
'collation' = 'utf8mb4_unicode_ci'
除了上述答案之外,请确保清除缓存并迁移刷新以更新 MySQL 表。
如果您正在使用websocket聊天和发送表情包,那么您需要重启websocket。
您可以找到并杀死所有 websocket 进程,例如
sudo kill (Your PID)
没有圆括号。
而对于 ?马克,没关系,因为有些浏览器,或者MySQL编辑器不支持表情符号,所以他们给你看问题(?)马克。