我有一个类,我试图将图像存储为blob数据类型,使用Doctrine2.3作为orm。
/**
* @ORM\Column(type="blob")
*/
private $data;
它说here有一个名为blob的学说映射类型,它将SQL BLOB映射到php资源流。当我从类中构建数据库时,一切正常。但是当我尝试将savedImage对象插入数据库时,就像这样
$image = new SavedImage();
$data = fread(fopen($_FILES['data']['tmp_name'], 'r'), filesize($_FILES['data']['tmp_name']));
$image ->setData($data);
$this->entityManager->persist($image );
$this->entityManager->flush();
我收到以下错误:
json_encode(); Invalid UTF-8 sequence in argument.
我不确定这里出了什么问题,我们将不胜感激。
答案 0 :(得分:1)
在setData($ data);
之前添加此行$data= mb_check_encoding($data, 'UTF-8') ? $data: utf8_encode($data);
为此,link形成更多细节