[TikiWiki-commits] [Git][tikiwiki/tiki][26.x] [FIX] mPDF: Fix broken unicode characters (e.g. à, Δ, ç, ©) in generated PDF
"Victor Emanouilov \(@kroky\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <6911d9f727589_2ce2a54996c5@gitlab-sidekiq-low-urgency-cpu-bound-v2-9559bbcc-gxjnx.mail> |
Victor Emanouilov pushed to branch 26.x at Tiki Wiki CMS Groupware / Tiki
Commits:
da77c699 by Adrien Mbuya Maloba at 2025-11-10T14:26:11+02:00
[FIX] mPDF: Fix broken unicode characters (e.g. à, Δ, ç, ©) in generated PDF
---
* [ENH] mPDF: Add unit test for unicode characters encoding
* [FIX] mPDF: Fix broken unicode characters (e.g. à, Δ, ç, ©) in generated PDF
See merge request tikiwiki/tiki!6062
- - - - -
2 changed files:
- lib/pdflib.php
- lib/test/lib/PdfLibTest.php
Changes:
=====================================
lib/pdflib.php
=====================================
@@ -1356,9 +1356,8 @@ function loadHTMLContent($html)
// Set error reporting to ignore warnings
error_reporting($errorLevel & ~E_WARNING);
-
- $html = htmlspecialchars($html, ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, 'UTF-8');
- $html = html_entity_decode($html, ENT_QUOTES | ENT_HTML401, 'UTF-8');
+ //Encode character to HTML numeric string reference
+ $html = mb_encode_numericentity($html, [0x80, 0xfffffff, 0, 0xfffffff], 'UTF-8');
$doc->loadHTML($html);
// Restore the previous error reporting level
=====================================
lib/test/lib/PdfLibTest.php
=====================================
@@ -41,4 +41,14 @@ HTML;
$this->assertStringNotContainsString('<sup> [4] </sup><a name="lnk4">ftp://example.tiki.org</a>', $output);
$this->assertStringNotContainsString('href="ftp://example.tiki.org"', $output);
}
+
+ public function testEncodeCharacters()
+ {
+ $generator = new PdfGenerator();
+ //Sample unicode character example
+ $content = 'Δ';
+ $inData = 'Δ';
+ $generator->_parseHTML($inData);
+ $this->assertStringContainsString($content, $inData);
+ }
}
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/da77c699e26cb189f3c251073ed72fa558a3f553
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/da77c699e26cb189f3c251073ed72fa558a3f553
You're receiving this email because of your account on gitlab.com.
_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs