2013-12-20 4 views
0

Я сделал CSV в качестве примера:Экспорт CSV, чтобы преуспеть в PHP

Type, जिल्ला शिक्षा कार्यालय डडेलधुरा,NGOI,NGO Request,21,0,0 Response, 4,0,0 

и имеет UTF-8 символов и я хочу, чтобы экспортировать его, чтобы преуспеть, поэтому я разместил его и экспортировать его, чтобы преуспеть и после того, как со ссылкой на несколько вопросов на StackOverflow я сделал следующим образом:

header('Content-Description: File Transfer'); 
header('Content-Type: application/octet-stream'); 
header("Content-Type: text/csv; charset=utf-8"); 
header('Content-Disposition: attachment; filename=file.csv'); 
header('Content-Transfer-Encoding: binary'); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
header('Pragma: public'); 
print $_POST['csv_data'];exit; 

CSV-экспортируется, чтобы преуспеть хорошо, но кодировки символов в не конвертируются и показывает что-то вроде этого: जिलà¥à¤²à¤¾ शिकà¥à¤·à¤¾ कारà¥à¤¯à¤¾à¤²à¤¯ डडेलधà¥à¤°à¤¾ и когда я добавить

echo "\xEF\xBB\xBF"; 

кодировка символов преобразуется, но данные появляются в одном столбце, например так:

Type, जिल्ला शिक्षा कार्यालय डडेलधुरा,NGOI,NGO 
Request,21,0,0 
Response, 4,0,0 
+0

Используйте [PHPExcel] (http://phpexcel.codeplex.com/)! Самодельные решения определенно не полезны. – Sliq

+0

Вы можете попытаться добавить 'utf8_encode()' в '$ _POST ['csv_data']' – JackPoint

+0

@JackPoint, результат приходит как этот 'à ¤œà ¤¿à ¤²à  ¥ Âà ¤²à  ¤Â¾ à ¤¶à ¤¿Ãà                                                                à ¤¾à ¤²à ¤ ¯                                                               – Robz

ответ

1

UTF8 + CSV + Excel, как известно, является проблематичным сочетание. Excel просто не очень хорош при импорте CSV.

Одна вещь, которую вы должны попробовать - добавить UTF8 BOM character в начале вашего файла CSV; что может помочь Excel понять, что с ним делать.

Я оптимист, который поможет, но если это не так, вам, возможно, придется подумать, используя CSV для этого.

Другие варианты, которые вы могли бы использовать вместо CSV, будут включать XML и создание фактического файла Excel из PHP (имеется ряд доступных библиотек, который может сделать это, лучший из которых - PHPExcel).

Надеюсь, что это поможет.

Смежные вопросы