如何将所有facebook表情符号存储在mysql数据库中

时间:2017-07-06 08:43:25

标签: php mysql facebook-graph-api emoji cakephp-3.x

我在我的项目中使用表情符号来发布facebook帖子。一些表情符号字符保存好但有些字符像(??)一样保存到mysql数据库中。我的数据库表默认排序规则是utf8mb4_unicode_ci。 有没有办法将所有表情符号保存到数据库中。

我在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),
        ],

1 个答案:

答案 0 :(得分:3)

在处理像这样的不寻常的角色时,我遇到了类似的问题。问题不在于数据库,而在于我如何连接到数据库。由于您没有提供任何代码,我无法提供任何具体建议,但请检查您的数据库连接字符串,并确保使用mf4版本的utf8。否则响应将不包含字符。

如果您使用的是PDO,那么您的数据库字符串将如下所示。

$db = 'mysql:host=example.com;dbname=testdb;port=1234;charset=utf8mb4';