如何将所有 facebook 表情符号存储在 mysql 数据库中
how to store all facebook emoji in mysql database
我在我的 facebook 项目中使用表情符号 post。一些表情符号字符保存良好,但有些字符保存为 (??) 到 mysql 数据库中。我的数据库 table 默认排序规则是 utf8mb4_unicode_ci 。
有什么办法可以把所有的emoji都存入数据库吗
我在 Cakephp3 工作。
我的数据库结构是:
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => '******',
'password' => '******',
'database' => '******',
'encoding' => 'utf8mb4',
'timezone' => 'UTC',
'flags' => [],
'cacheMetadata' => true,
'log' => false,
'url' => env('DATABASE_URL', null),
],
在处理诸如此类的异常字符时,我遇到了与此类似的问题。问题不在于数据库,而在于我如何连接到数据库。由于您没有提供任何代码,我无法提供任何具体建议,但请检查您的数据库连接字符串并确保其使用 mb4 版本的 utf8。否则响应将不包含这些字符。
如果您使用的是 PDO,那么您的数据库字符串将如下所示。
$db = 'mysql:host=example.com;dbname=testdb;port=1234;charset=utf8mb4';
我在我的 facebook 项目中使用表情符号 post。一些表情符号字符保存良好,但有些字符保存为 (??) 到 mysql 数据库中。我的数据库 table 默认排序规则是 utf8mb4_unicode_ci 。 有什么办法可以把所有的emoji都存入数据库吗
我在 Cakephp3 工作。 我的数据库结构是:
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => '******',
'password' => '******',
'database' => '******',
'encoding' => 'utf8mb4',
'timezone' => 'UTC',
'flags' => [],
'cacheMetadata' => true,
'log' => false,
'url' => env('DATABASE_URL', null),
],
在处理诸如此类的异常字符时,我遇到了与此类似的问题。问题不在于数据库,而在于我如何连接到数据库。由于您没有提供任何代码,我无法提供任何具体建议,但请检查您的数据库连接字符串并确保其使用 mb4 版本的 utf8。否则响应将不包含这些字符。
如果您使用的是 PDO,那么您的数据库字符串将如下所示。
$db = 'mysql:host=example.com;dbname=testdb;port=1234;charset=utf8mb4';