2017-05-10 1 views
0

J'écris un code simple pour le rendu des mots chinois en pdf. Mais les mots chinois n'apparaissent pas.UTF-8 mots ne pas afficher dans laravel-dompdf

Ceci est mon code.

Route::get('/pdf', function() { 
    $html = '<html> 
       <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
       </head> 
       <body> 
        <p style="font-family: firefly, DejaVu Sans, sans-serif;">献给母亲的爱</p> 
       </body> 
       </html>'; 
    $pdf = App::make('dompdf.wrapper'); 
    $pdf->loadHTML($html); 
    return $pdf->stream(); 
}); 

J'utilise

1) PHP 7.1.1 
2) Laravel 5.3 

J'ai inséré la méta dans l'en-tête et changer la police. Qu'est-ce qui pourrait mal tourner ici? S'il vous plaît aider merci.

+0

Avez-vous défini l'en-tête PHP et vérifié l'encodage des fichiers? – Qirel

+0

Je vérifie l'encodage des fichiers pour $ html en utilisant mb_detect_encoding ($ html) et en sortie UTF-8. Pour l'en-tête si vous voulez dire par en-tête ("Content-type: application/pdf"); , je l'essaie et toujours pas travaillé. – etzzz

+0

quelqu'un s'il vous plaît aider? – etzzz

Répondre

0

Il s'avère que la police par défaut fournie dans dompdf ne prend pas en charge le caractère chinois. Vous devez insérer vos propres polices personnalisées afin d'afficher les mots chinois. Reportez-vous ici Insert Custom Font sur la façon d'insérer et d'utiliser des polices personnalisées dans dompdf.