Php 使用Knp Snappy生成pdf文件时出现错误字符

Php 使用Knp Snappy生成pdf文件时出现错误字符,php,symfony,pdf,pdf-generation,wkhtmltopdf,Php,Symfony,Pdf,Pdf Generation,Wkhtmltopdf,我正在使用Symfony2。使用此代码生成pdf文件时: public function printAction($id) { // initialiser $demande $html = $this->renderView('PFETimeBundle:Demande:print.html.twig', array('demande'=> $demande) ); retur

我正在使用Symfony2。使用此代码生成pdf文件时:

public function printAction($id)
    {
        // initialiser $demande
        $html = $this->renderView('PFETimeBundle:Demande:print.html.twig',
            array('demande'=> $demande)
        );

            return new Response(
                $this->get('knp_snappy.pdf')->getOutputFromHtml($html),
                200,
                array(
                    'Content-Type'          => 'application/pdf',
                    'Content-Disposition'   => 'attachment; filename="file.pdf"'
                )
            );
    }
我得到了这个内容(法语字符出现在坏字符中):

尝试添加
编码
属性

'encoding' => 'utf-8',
这是我工作代码的完整副本,请注意,我将一个选项数组作为第二个参数传递给getOutPutFromHtml()


如果您使用的是
generateFromHtml
方法,则必须像这样使用它,在第三个参数处:

$this->container->get('knp_snappy.pdf')->generateFromHtml(
    $this->container->get('templating')->render(
        'YourBundle:Template:pdfTemplate.html.twig',
        array(
            'var' => $var,
        )
    ),
    '/path/to/file.pdf',
    array(
        'encoding' => 'utf-8',
    )
);

谢谢你。您为我节省了大量的时间,让我了解如何传递选项以及传递哪个选项来设置
编码
$this->container->get('knp_snappy.pdf')->generateFromHtml(
    $this->container->get('templating')->render(
        'YourBundle:Template:pdfTemplate.html.twig',
        array(
            'var' => $var,
        )
    ),
    '/path/to/file.pdf',
    array(
        'encoding' => 'utf-8',
    )
);