tcpdf output(filename.pdf) - filename不显示俄语字符

时间:2015-10-05 12:46:05

标签: filenames tcpdf

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

1 个答案:

答案 0 :(得分:2)

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

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

秒 - basename()(在7602 str开关)。您可以使用setlocale()正确使用此功能;

最后:您必须使自己的类扩展TCPDF,覆盖Output(),通过以下内容更改正则表达式:[^a-zA-Zа-яА-Я0-9_\.-]并使用setlocale()& basename()或您自己的函数for currectly get filename;

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