PHP使用TCPDF生成PDF文件時,若是文件名是中文會被直接過濾掉,如下是TCPDF不能保存中文文件名的解決方法:php
打開tcpdf.php文件,找到output函數,大約在8467行 或(7554)行。tcp
一、註釋如下代碼,大約在8467-8470行 或(7565-7568)行:函數
if ($dest[0] != 'F') { $name = preg_replace('/[\s]+/', '_', $name); $name = preg_replace('/[^a-zA-Z0-9_\.-]/', '', $name); }
二、搜索該方法代碼,替換以下代碼,大約分別在8580 行。spa
header('Content-Disposition: attachment; filename="'.basename($name).'"');
替換爲code
header('Content-Disposition: attachment; filename="'.$name.'"');
上述代碼分別在該方法的case 'I':(打印PDF)、case 'D':(下載PDF)、case 'FD':(保存到本地文件)語句中。 這樣PHP使用TCPDF生成PDF文件時就能夠保存爲中文名稱了。