Ik wil een pdf generen van wat data uit m’n database, dat werkt prima met html2pdf. Enige ding waar ik echter tegenaan loop, is dat de tekst “Fēnix” wordt weergegeven als “F?nix”. Ik heb ook snel een test gedraaid met mPDF en daarbij is dit niet het geval, echter loop ik daar tegen wat style dingen aan die mogelijk meer moeite zijn om op te lossen dan dit.

Iemand hier ervaring mee? Alles is UTF-8 overigens.
Hoe initieer je die classe?
Als volgt, maar heb ook al met “, true, UTF-8“ getest.

$html2pdf=new Html2Pdf('P', 'A4', 'nl');
Die parameters moet je wel gebruiken.
Als je de data buiten Html2Pdf oproept, lukt het dan wel?
Met een andere PDF writer heb ik hier ook eens mee lopen stoeien. De "oplossing" was toen om de hele tekst eerst door htmlentities() heen te halen. Misschien werkt dat hier ook.
Als ik de tekst echo ziet deze er wel uit zoals verwacht. Dit maakt geen verschil:

$html2pdf=new Html2Pdf('P', 'A4', 'nl', true, 'UTF-8');


Sterker nog, dan komt het als "Fēnix" eruit.

$html2pdf=new Html2Pdf('P', 'A4', 'nl', false, 'UTF-8');


Bovenstaande maakt helemaal geen verschil. Zo ook htmlentities.
Haal je het uit een database?
Ja, die is geheel utf8_general_ci.

[size=xsmall]Toevoeging op 21/12/2022 12:57:29:[/size]

Het aparte is dat wanneer ik het volgende uitvoer, F?nix als Fenix wordt weergegeven:

$html2pdf=new Html2Pdf('P', 'A4', 'nl');
$html2pdf->writeHTML('F?nix');
$html2pdf->output();


Ergens lijkt de ? dus verloren te gaan of niet te worden geaccepteerd.

[size=xsmall]Toevoeging op 21/12/2022 12:58:57:[/size]

En the plot thickens, want zie hier boven... F?nix
Opgelost door een UTF-8 font aan alle elementen mee te geven: * { font-family:freeserif; }

Reageren