Экспорт в EXCEL (.CSV) на php. Проблема с кодировками
Пример для конвертации из PHP в .CSV
Несколько строчек кода могут сделать чудо.
Результат работы кода можно использовать для импорта в Excel, Access, phpmyadmin и другие знакомые с форматом .CSV приложения.
CSV файлы хранятся в кодировке UTF-16 Little Endian. Чтобы сконвертировать текст из более распространенной в веб приложениях кодировки UTF- 8 в понятный EXCEL'ю файл можно воспользоваться следующим кодом:
(Подразумевается, что переменная $data содержит разделенные символами табуляции текстовые данные )
<?php<br />
$data = mb_convert_encoding($data, "UTF-16LE", "UTF-8");<br />
$data = chr(hexdec('FF')) . chr(hexdec('FE')) . $data;<br />
header("Content-type: text/csv");<br />
header("Content-Disposition: attachment; \r\nfilename=\"data.csv\"");<br />
echo $data<br />
?>
Первая строка: конвертирует данные в нужную кодировку для EXCEL из UTF-8 (Если ваши данные скаем в кодировке windows-1251, то вместо третьего параметра в кавычки впишите CP1251).
Вторая строка: добавляет Byte Order Mark, или BOM.
Все остальное выставляет правильные хедеры (headers), чтобы браузер знал как открыть файл и выдает перекодированные данные.
— (маркер ?) сообщает приложению в каком из вариантов юникода написан весь файл.
источник: Producing a .CSV document in PHP (for Excel, for example)

Довольна странная перелинковка на блоге.
Все слова php, csv и т.п. ведут на теги. В чем смысл? По моему она только мешает. Ч-з aLinks сделал?
симпл тагс вроде. смотрит текст и если находит в тексте таги, автоматом вставляет на них линки.
так, поиграться включил.
— пхпшный экспортер в «настоящий» Эксель. Очень прост в понимании, работает отменно.
Вот это да... Много комментариев и почти ни одного по теме
У меня в сохраняемом таким образом файле разделители не воспринимаются как разделители.Весь поток инфы идет одним потоком. Пробовала в строке разделители и , и ;. В чем проблема???