Я видел много вопросов на SO о создании PDF-файлов в PHP с помощью FPDF, а также много проблем с кодировкой. Мой родной язык — словацкий, поэтому я понял, что должен использовать кодировку ISO-8859-2. Я попытался преобразовать UTF-8 в ISO-8859-2 через
iconv('utf-8', 'ISO-8859-2', $text)
но fpdf выдает ошибку, что не может распознать некоторые символы.
Я пытаюсь создать такой текст
$pdf->Cell(0, 0, self::text('ZÁKAZNÍK'), '', '', 'L');
function text($text)
{
// return $text;
// return mb_convert_encoding($text, 'ISO-8859-1', 'UTF-8');
return iconv('utf-8', 'cp1252', html_entity_decode($text));
}
Любая идея? Это должно работать для таких символов, как (ľščťžýáíéôúä)






Используйте это вместо этого:
iconv('UTF-8','iso-8859-2//TRANSLIT//IGNORE',$text);
Это должно сработать.
В ISO-8859-2 есть все словацкие символы, поэтому невозможно, чтобы транслит изменил правильно написанный словацкий текст в UTF8 на что-то другое, если он все еще не работает, ваш шрифт не содержит этих символов, и вам нужно импортировать правильный шрифт самостоятельно через $fpdf->AddFont(). Другого пути нет.
ваш комментарий об использовании AddFont помог мне, хотя я также использовал tFPDF вместо оригинальной реализации fpdf
нет, все еще не работает. И у меня была одна успешная попытка, при использовании транслита, но я не хочу использовать транслитерацию, потому что она может изменить значение слова на 180 градусов, так что это немного опасно :)