Импорт utf-8 csv-файлов в Excel
Dec. 6th, 2010 01:11 amВозникла задача открыть csv экселем, а тот вместо добротного уникода показал мусор. Поиски вывели на тред, где описано приемлемое решение задачи:
1. Конвертируем в UTF-16.
2. Добавляем BOM в начало файла.
3. В качестве разделителей используем символы табуляции.
Если говорить на php, то выдача файла должна происходить следующим образом:
header("Cache-Control: must-revalidate"); header("Pragma: must-revalidate"); header("Content-type: application/vnd.ms-excel; charset=URF-16LE"); header("Content-disposition: attachment; filename=file.csv"); echo chr( 0xFF ) . chr( 0xFE ) . mb_convert_encoding( $content, 'UTF-16LE', 'UTF-8' );
Надеюсь, этот пост сэкономит кому-нибудь пару сотен нейронов.
Оригинал: http://blog.dpetroff.ru/tech/excel_csv_unicode