我在我的项目中使用表情符号来发布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),
],
答案 0 :(得分:3)
在处理像这样的不寻常的角色时,我遇到了类似的问题。问题不在于数据库,而在于我如何连接到数据库。由于您没有提供任何代码,我无法提供任何具体建议,但请检查您的数据库连接字符串,并确保使用mf4版本的utf8。否则响应将不包含字符。
如果您使用的是PDO,那么您的数据库字符串将如下所示。
$db = 'mysql:host=example.com;dbname=testdb;port=1234;charset=utf8mb4';