Убрать экранирование и юникод
Есть вот такой код :
$this->encoders = [new JsonEncoder()];
$this->normalizers = [new ObjectNormalizer()];
$this->serializer = new Serializer($this->normalizers, $this->encoders);
$query = $repository->createQueryBuilder('p')
->where('p.appleStoreId = :keyword AND p.dateAddRecord BETWEEN :start AND :end')
->setParameter('keyword', $this->keyword)
->setParameter('start', (new \DateTimeImmutable('now'))->sub(new \DateInterval("P6D")))
->setParameter('end', new \DateTimeImmutable('now'))
->orderBy('p.id', 'DESC')
->getQuery();
$this->serializer->serialize($query->getResult(), 'json'));
На выходе получаю:
\ / \ /site.com\ /ru\ /app\ /
in this\u00a0tay\u00a0p\u00a0adventure\u00a0to
Данные в БД храняться в utf8 и на сайте кодировка utf-8 прописана. Были идеи на счет json_encoding, но там только 1 параметр принимается.
Ответы (1 шт):
Автор решения: hardworm
→ Ссылка
Надо изменить ваш $this->encoders на
$this->encoders = [new JsonEncoder(new JsonEncode(JSON_UNESCAPED_UNICODE))];