https://github.com/tecnickcom/TCPDF/blob/master/tc... тут написано, что специфические символы вырезаются. Этот библиотека лет 5 не обновлялась. Есть современный, mPDF. Но он много жрет.
Если хочешь именно этой библиотекой пользоваться, то сохрани файл на сервере и сам отдавай
Если прочитать документацию, то можно найти вот это:* @param $dest (string) Destination where to send the document. It can take one of the following values:- I: send the file inline to the browser (default). The plug-in is used if available. The name given by name is used when one selects the "Save as" option on the link generating the PDF.
- D: send to the browser and force a file download with the name given by name.
- F: save to a local server file with the name given by name.
- S: return the document as a string (name is ignored).
- FI: equivalent to F + I option
- FD: equivalent to F + D option
- E: return the document as base64 mime multi-part email attachment (RFC 2045)
Соответственно, получаешь содержимое файла с помощью параметра
S и отправляешь как тебе надо.
Ниже пример:$pdfString = $pdf->Output(null, "S");
header('Content-Type: application/pdf');
header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0, max-age=1');
header('Pragma: public');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Content-Disposition: inline; filename="имя файла на кириллице.pdf"');
echo $pdfString;
UPD.:
Если хочешь, чтобы файл сразу скачивался, а не открывался в браузере, то поменяй
Content-Disposition: inline; на
Content-Disposition: attachment;. В принципе, про то как отдавать файлы с помощью php, можешь прочитать в просторах интернета.