Laravel PDF::加载HTML Utf8问题

Laravel PDF::加载HTML Utf8问题,laravel,utf-8,pdf-generation,Laravel,Utf 8,Pdf Generation,我使用PDF::loadHtml在Laravel 5.3中创建PDF 一切都很好,但我有utf8的问题,我不能解决它 我的代码: $text="<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body> <h2 style="text-align:center"&

我使用PDF::loadHtml在Laravel 5.3中创建PDF

一切都很好,但我有utf8的问题,我不能解决它

我的代码:

 $text="<html>
    <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    </head>
    <body>
    <h2 style="text-align:center">Birinci gün</h2>
    <table style="width:100%;" border="1">
                                    <tbody><tr>
                                        <td></td>
                                        <td>Həftə</td>
                                        <td style="text-align:center">Dərs</td>
                                        <td style="text-align:center">Vaxt</td>
                                        <td style="text-align:center">Müəllim</td>
                                        <td style="text-align:center">Korpus</td>
                                        <td style="text-align:center">Otaq</td>
                                    </tr>
                                    <tr>
                                        <th rowspan="2">1</th>
                                       <td style="padding-left:5px">Üst</td>
                                        <td><input name="ders[]" value=""></td>
                                        <td style="text-align:center"><input name="vaxt[]" value=""></td>
                                        <td style="text-align:center"><input name="teacher[]" value=""></td>
                                        <td style="text-align:center"><input name="korpus[]" value=""></td>
                                        <td style="text-align:center"><input name="otaq[]" value=""></td>
                                    </tr>      </tbody></table>

    </body>
    </html>";
    $pdf = PDF::loadHTML('<?xml encoding="UTF-8">' .$text, 'UTF-8');
            return $pdf->stream();
$text=”
比林奇·居恩
Həftə
迪尔斯
瓦克斯
穆利姆
科布斯
Otaq
1.
Üst
";
$pdf=pdf::loadHTML('.$text,'UTF-8');
返回$pdf->stream();

好的,下面是您需要做的事情

  • 将代码移动到刀片文件。切勿在控制器中编写HTML代码

  • 在刀片文件中,设置UTF-8元标记:

  • 在控制器的方法中

    $pdf=pdf::loadView('pdf_NAME.pdf',$data)

    返回$pdf->下载('invoice.pdf')


  • PDF::loadHtml
    不太支持utf-8字符,纯php库很难在laravel中特别使用,而且很多库也有这个问题。 我通过开发和简化tcpdf使laravel composer软件包非常简单

    只需通过以下命令安装它:

    作曲家需要VATTAN/apdf

    现在它可以在任何你喜欢的地方使用。例如,在您的视图中,您可以使用:

    use Illuminate\Support\Facades\Route;
    use Vatttan\Apdf\Apdf;
    Route::get('/', function () {
        $apdf = new Apdf();
        $apdf->print('<p style="text-align: right">Birinci gün</p>');
    });
    
    使用照明\支持\立面\路线;
    使用VATTAN\Apdf\Apdf;
    路由::get(“/”,函数(){
    $apdf=新的apdf();
    $apdf->print(“

    Birinci gün

    ”); });

    完了

    你正在使用这个软件包吗???@nikhil_gandhi是的软件包是Dompdfy你正在叠加双引号,将视图代码移到一个刀片文件这个问题已经解决了,解决方法是用css更改字体系列,添加以下行:{字体系列:“DeJaVu Sans Mono”,monospace;}感谢您分享您的经验,这个问题已经存档并解决了好几年。通过更改字体解决了问题。是。但在一些语言中,如波斯语show characters,反之亦然,我为其他遇到这种情况的开发人员发布了答案。我明白了,再次非常感谢,很高兴我也发现了您的解决方案。