как установить mpdf HTML содержит недопустимые символы UTF-8 при создании pdf на ваших приложениях
Как установить mpdf HTML содержит недопустимый символ UTF-8
Ответ 1
Попробуйте это
$html = mb_convert_encoding($html, 'UTF-8', 'UTF-8');
перед вызовом: "$ mpdf- > WriteHTML ($ html);"
Кажется бессмысленным, но он работает для меня.
Ответ 2
С mpdf нет смысла конвертировать и кодировать, поскольку они, скорее всего, потеряют ваши символы, и вы получите только "?". или другие неузнаваемые символы (но даст выход)
Попробуйте использовать их перед тем, как любой вход будет отправлен в mpdf:
$mpdf->allow_charset_conversion=true;
$mpdf->charset_in='UTF-8';
Ответ 3
Используйте функцию utf8_encode(). Например: $ html = '
Название оригинатора
Адрес инициатора
Номер телефона инициатора
Оригинальный адрес электронной почты
Заемщик
Адрес свойства
Дата GFE
Â
'; $ html = utf8_encode ($ html1);
Ответ 4
Ниже две строки сделают трюк
$mpdf->allow_charset_conversion = true;
$mpdf->charset_in = 'iso-8859-4';
Добавьте две вышеуказанные строки после создания объекта, это будет выглядеть как
$mpdf=new mPDF();
$mpdf->allow_charset_conversion = true;
$mpdf->charset_in = 'iso-8859-4';
Ответ 5
Это работает для меня:
$mpdf->WriteHTML(utf8_encode($html));
Ответ 6
Я получил эту ошибку, когда отправил NULL
в ->multicell()
. Отправка ""
исправлена.
старый вопрос, но, возможно, кто-то приходит сюда из Google, как я сделал
Ответ 7
После нескольких часов потянув за волосы, это творило чудеса для меня :)
(В моем случае बोटोक्स показывался как??????)
$mpdf-> SetAutoFont();
$mpdf = new mPDF('utf-8','', 0, '', 15, 15, 16, 16, 9, 9, 'L');
$mpdf->SetAutoFont();
//~ Nothing of below worked :(
//~ $mpdf->useLang = true;
//~ $mpdf->autoScriptToLang = true;
//~ $mpdf->autoLangToFont = true;
//~ $pdf_html = mb_convert_encoding($html, 'UTF-8', 'UTF-8');
$mpdf->WriteHTML($html);
//~ $mpdf->DeletePages(2);
$filename = date('ymdhis').".pdf";
$mpdf->Output($filename,'D');
Мой PDF содержал смесь английских и хинди слов, таких как
"3 единицы बोटोक्स по цене $ 10,00/единица".
Ответ 8
Я на 99% уверен, что проблема в том, что вы сделали некоторые манипуляции с текстом, используя небезопасные функции Юникода. Используйте mb_strpos()/mb_substr()
вместо strpos()/substr()
и добавьте модификатор " /u
" во все ваши преобразования с помощью prog_replace()
.
Конечно, проблему можно решить, разрешив "преобразование кодировки", как уже предлагалось ранее. Но гораздо лучше знать, что ваш текст уже правильный и соответствует требованиям UTF-8.