获取Doctrine 2实体字段时为空,因为它在数据库中包含“ - ”(—)。
该字段是:
/*
* @var string
*
* @ORM\Column(name="question", type="text", nullable=false)
*
* @Groups({"list", "details", "exercise_details"})
* @Type("string")
*/
private $question;
使用以下代码完成提取:
$exercise = $exerciseRepo->findOneBy(array('id' => $id));
$this->response(json_decode($this->serializer->serialize($exercise, 'json', \JMS\Serializer\SerializationContext::create()->setGroups(array('exercise_details', 'details')));
当我从数据库中删除字符—
时,文本会正确显示。可能是什么问题以及如何解决它?
答案 0 :(得分:0)
我知道这是一个老问题,但我遇到了同样的问题,我已经解决了这个问题:
charset: UTF8
在config.yml
中dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8