文件名中的希腊字母而不是完整的单词

Greek letters in filename instead of full word

我正在使用 PHPSpreadsheet 将 html table 导出到 .xlsx 文件。 一切正常,除了...

我想给文件名提供存储在 SESSION 中的员工的希腊全名,但我得到的是这样的:

2021_ΑΘΑΝΑΣΙΟΣ ΛΑΜΠΡΙΔΗΣ.xlsx

有什么方法可以将实际名称设置为文件名???

编辑:代码是

if(isset($_POST["file_content"]))
{
 $temporary_html_file = './tmp_html/' . time() . '.html';

 file_put_contents($temporary_html_file, $_POST["file_content"]);

 $reader = IOFactory::createReader('Html');

 $spreadsheet = $reader->load($temporary_html_file);

 $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');

 $filename = $ecoYear . "_" . $_SESSION['fullname'] . '.xlsx';

 $writer->save($filename);

 header('Content-Type: application/x-www-form-urlencoded');

 header('Content-Transfer-Encoding: Binary');

 header("Content-disposition: attachment; filename=\"".$filename."\"");

 readfile($filename);

 unlink($temporary_html_file);

 unlink($filename);

 exit;
}

html_entity_decode — 将 HTML 个实体转换为相应的字符

<?php
$orig = "2021_&Alpha;&Theta;&Alpha;&Nu;&Alpha;&Sigma;&Iota;&Omicron;&Sigma; &Lambda;&Alpha;&Mu;&Pi;&Rho;&Iota;&Delta;&Eta;&Sigma;.xlsx";
$text = html_entity_decode($orig);

echo $orig . PHP_EOL;
echo $text . PHP_EOL;
?>

输出72103715.php

2021_&Alpha;&Theta;&Alpha;&Nu;&Alpha;&Sigma;&Iota;&Omicron;&Sigma; &Lambda;&Alpha;&Mu;&Pi;&Rho;&Iota;&Delta;&Eta;&Sigma;.xlsx
2021_ΑΘΑΝΑΣΙΟΣ ΛΑΜΠΡΙΔΗΣ.xlsx