Я получаю данные из базы данных, некоторые строки - Engli sh, некоторые - арабский c, некоторые - наполовину арабский c, наполовину английский - sh.
Я генерирую электронная таблица .xlsx
вот так
function writeToFile($spreadsheet, $filename)
{
header("Content-Encoding: UTF-8");
header('Content-Type: application/vnd.ms-excel; charset=UTF-8"');
header('Content-Disposition: attachment; filename=' . $filename);
$writer = new Xlsx($spreadsheet);
$writer->save("php://output");
}
Но я не загружаю ее напрямую, генерируется большой двоичный объект, который загружается с использованием javascript.
fetch(url)
.then(resp => resp.blob())
.then(file => {
if (file.size > 0) {
const url = window.URL.createObjectURL(file);
const a = document.createElement('a');
a.style.display = 'none';
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
window.URL.revokeObjectURL(url);
} else {
console.log('error');
}
})
.catch(() => console.log('error'));
Проблема в том, что PHPvelopsheet, я не знаю, если я это исправлю, у меня будет другая проблема, связанная с JS, но я знаю, что если я сгенерирую файл без использования JS, у меня все равно будет араби c вопрос.