Записываю массив данных в csv файл. Запись проходит успешно, данные беру из базы в кодировке utf8 но вот после записи кодировка желает ждать лучшего. Вместо русскоязычного алфавита вижу кракозябры. Как задать кодировку чтобы все работало корректно. И да кстати, дата в формате 2020-05-24 тоже отображается не корректно, а именно #####. После ручного изменения ширины ячейки дата появляется, но вот не хочется ее менять каждый раз. Если ли возможность задать ширину ячейки перед или вовремя записи? Спасибо.
Наверное идёт разговор об импорте csv программой excel? 99% что файл и дата и все записано верно. Проблема у автора в импорте данного файла. Эксель по умолчанию оперирует в win1251 кодировке, так что вариантов несколько. 1. Оставить все как есть. Но открывать csv путем импорта. Там тогда на стадии импорта можно задать нужную кодировку, а для нужных столбцов задать нужный тип (это про даты) 2. При записи в csv сразу самому конвертить в win1251 3. Записывать сразу в xls/xlsx с помощью библиотек. Там можно и ширину и типы ячееек, даже цвета и оформление По поводу csv - это простейший формат для импорта экспорта - по сути текст с разделителями. Поэтому никакой речи о доп функциях типа задания типа, ширины какой то и прочего идти не может см а 3
Создаю файл на сайте, использовать библиотеки дополнительные желания нету. Нужно просто чтобы все выводилось корректно сразу при обычном открытии файла, дополнительных возможностей не нужно. Только средствами php сделать корректную запись в файл.
@mainprofilemail, чтобы excell открывал файл csv без вопросов, в этот файл достаточно сначала записать Маркер последовательности байтов.