Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json Symfony 2中奇怪的编码行为_Json_Symfony_Jmsserializerbundle - Fatal编程技术网

Json Symfony 2中奇怪的编码行为

Json Symfony 2中奇怪的编码行为,json,symfony,jmsserializerbundle,Json,Symfony,Jmsserializerbundle,我正在使用Symfony和JMS序列化程序包为应用程序开发一个简单的restapi。我有一些URL-例如/api/answers/{id}。现在的问题是,如果我用id=1调用该URL,当我用id=2、3、4调用它时,一切都像一个符咒一样工作。。。JSON内容编码不正确 后端脚本如下所示(这只是一个原型,我将对其进行重构): 我的所有数据库表都设置为utf8\u unicode\u ci,配置中的每一位也设置为utf8 PS:我用print_r打印了$answers变量,而且它的编码也不正确,所以

我正在使用Symfony和JMS序列化程序包为应用程序开发一个简单的restapi。我有一些URL-例如
/api/answers/{id}
。现在的问题是,如果我用id=1调用该URL,当我用id=2、3、4调用它时,一切都像一个符咒一样工作。。。JSON内容编码不正确

后端脚本如下所示(这只是一个原型,我将对其进行重构):

我的所有数据库表都设置为
utf8\u unicode\u ci
,配置中的每一位也设置为utf8

PS:我用print_r打印了$answers变量,而且它的编码也不正确,所以我认为问题在于原则方面。你怎么认为?真正奇怪的是,它在id=1时运行良好。请注意,我看了一下phpmyadmin的内部,文本也很好


谢谢。

我解决了。问题是页面上的编码不同,尽管我在Symfony中将其设置为UTF8。我必须在内容类型标题中手动设置它,以使其正常工作

您在哪个操作系统上开发?服务器在哪一台上运行?我用于开发的操作系统是Windows。服务器是本地的(WAMP)。(Windows记事本问题)请参考此,我也共享了此问题,它已修复此问题:
    public function getByQuestionIdAction($questionId)
    {
         $answers = $this->getDoctrine()->getRepository('B2GameBundle:Answer')->findByQuestion($this->getDoctrine()
                                        ->getRepository('B2GameBundle:Question')->find($questionId));

         $serializer = $this->get('jms_serializer');

        if(!empty($answers))
        {
            return Response::create($serializer->serialize($answers, 'json'), 200, array("Content-type" =>     "application/json"));
        }
        else
        {
            return Response::create(json_encode(array('error' => 'No answers for question with id ' .     $questionId . ' found!')), 404, array("Content-type" => "application/json"));
        }

    }