Ive zainstalowane wtyczki "CakePDF" następującą dokumentacją: https://github.com/FriendsOfCake/CakePdfCakePHP 3.x, TCPDF, htmlspecialchars
teraz chcę zbudować pierwszy PDF i Ive got następujący błąd:
to jest moja konfiguracja w bootstrap.php:
Configure::write('CakePdf', [
'engine' => 'CakePdf.Tcpdf',
'margin' => [
'bottom' => 15,
'left' => 50,
'right' => 30,
'top' => 45
],
'download' => true,
'encoding' => 'UTF-8'
]);
Kod tylko Ive napisane jest po jednym w tEmPLat e:
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
Jest to kod od linii 68 w functions.php:
function h($text, $double = true, $charset = null)
{
if (is_string($text)) {
//optimize for strings
} elseif (is_array($text)) {
$texts = [];
foreach ($text as $k => $t) {
$texts[$k] = h($t, $double, $charset);
}
return $texts;
} elseif (is_object($text)) {
if (method_exists($text, '__toString')) {
$text = (string)$text;
} else {
$text = '(object)' . get_class($text);
}
} elseif (is_bool($text)) {
return $text;
}
static $defaultCharset = false;
if ($defaultCharset === false) {
$defaultCharset = mb_internal_encoding();
if ($defaultCharset === null) {
$defaultCharset = 'UTF-8';
}
}
if (is_string($double)) {
$charset = $double;
}
return htmlspecialchars($text, ENT_QUOTES | ENT_SUBSTITUTE, ($charset) ? $charset : $defaultCharset, $double);
}
jestem absolutnie mylić i can not znaleźć żadnego rozwiązania. Czy ktoś ma pomysł?
Zgodnie z komunikatem o błędzie, używasz kodowania "ASCII" dla aplikacji ("App.encoding"). Czy tak jest? A jeśli tak, dlaczego to robisz? Jeśli tak nie jest, to sprawdź, czy 'mb_internal_encoding()' jest prawidłowo wywoływany w twoim bootstrapie aplikacji i czy może zostać przesłonięty w innym miejscu w twojej aplikacji. – ndm
Tak, oczywiście używam ASCII. Ale dlaczego? Dodałem kod funkcji.php do mojego postu. – Leyla
W powiązanej notatce, dlaczego tworzysz instancję TCPDF ręcznie w szablonie widoku? CakePDF robi to automatycznie. – ndm