我正在尝试用emojis保存文本。但是表情符号不存储在文本中。我没有表情符号,而是在数据库中获得?
。
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
charset: utf8mb4
我希望保存表情符号的课程
/**
* Post
*
* @ORM\Table(name="post", options={"collate"="utf8mb4_unicode_ci", "charset"="utf8mb4"})
* @ORM\Entity(repositoryClass="AppBundle\Repository\PostRepository")
*/
class Post
{
/**
* @ORM\Column(type="integer", name="id")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="text", nullable=false, name="text")
*/
private $text;
}
实施例
POST正文
{"text": "test test"}
数据库中的 text
列
test ? test
答案 0 :(得分:0)
您需要设置character_set_client
_connection
和_results
。
示例 MySQL 查询可能如下所示
SET character_set_client = 'utf8mb4';
SET character_set_results = 'utf8mb4';
SET character_set_connection = 'utf8mb4';
答案 1 :(得分:-1)
您可能需要将MySQL表更改为charset = utf8mb4。