Нужно экспортировать данные из БД, чтобы открыть в excel.
Создаю csv где separator - знак \t.
Кодировка в базе utf-8, в php тоже utf-8, при экспорте использую такие заголовки:
header("Content-Type: application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=".$dt.".xls");
header("Pragma: no-cache");
Английские буквы нормально, русские excel не видит. Если открыть csv файл локально и сохранить with BOM - всё работает.
Если добавить BOM перед выводом контента - excel понимает русские буквы, но не видит сепаратора "\t" - т.е. по столбцам не разбивается, все столбцы сливаются в каждой строке.
Пробовал другие сепараторы - их excel не понимает по умолчанию.
Как быть? как отправить csv, чтобы excel открыл корректно?