TCPDF输出(filename.pdf) - filename不显示俄文字符



问题是,当我想用俄语字符设置文件名并下载pdf文件时,它不显示文件名。例如,如果我设置文件名为"файл.pdf"并下载它,下载的文件名将是"_.pdf"。如何解决?

首先,tcpdf::Output用regexp (tcpdf.php(6.0.059版本)中的str 7538)替换filename中的所有非拉丁符号:

$name = preg_replace('/[^a-zA-Z0-9_.-]/', '', $name);

Second - basename()(在7602 str开关中)。您可以使用setlocale()来正确地工作此功能;

最后:你必须让你自己的类扩展TCPDF,覆盖Output(),改变regex的东西:[^a-zA-Zа-яА-Я0-9_.-]和使用setlocale() &basename()或您自己的函数用于当前获取filename;

class MyTCPDF extends TCPDF {
    public function Output($name='doc.pdf', $dest='I'){
        //copy original code and add changes;
    }
}

最新更新