TCPDFのOutputで日本語ファイル名が消える
下記のように日本語でファイルを保存しようとすると、日本語部分が消えてしまいます。
<?php $name = 'テスト ハナコ'; $pdf->Output($name.".pdf","I");
解決方法
tcpdfフォルダ直下のtcpdf.phpを修正する。
7592行目にあるOutputメソッド内の、下のpreg_replaceをコメントアウトする。
<?php if ($dest[0] != 'F') { $name = preg_replace('/[\s]+/', '_', $name); // $name = preg_replace('/[^a-zA-Z0-9_\.-]/', '', $name); }
7666行目のbasename関数を外す。
<?php // 修正前 //header('Content-Disposition: inline; filename="'.basename($name).'"'); // 修正後 header('Content-Disposition: inline; filename="'.$name.'"');
これで日本語ファイルとして出力されました。