CSV传输到Excel编码错误

那么Excel 2003可以打开CSV文件,如果分隔符是选项卡,它可以自动将数据转换成正确的列。

那么问题是与不是ascii的人物。 libreoffice打开对话框来select字符集,但是excel 2003不会,并将字符导入错误的字符集。

<?php $filename ="excelreport.xls"; $contents1 = "Name \t Location (where from) \t Age \t \n"; $contents = "testdata1 \t testdata2 \t testdata3 \t \n"; $problematicData = array('ä', 'ö', 'õ', 'ü'); header('Content-type: application/ms-excel'); header('Content-Disposition: attachment; filename='.$filename); echo $contents1; echo $contents; echo implode(" \t ", $problematicData); 

//编辑可能我find了一个修正添加了这个头文件('Content-type:application / ms-excel; charset = utf-8; encoding = utf-8'); 但是我还没有用excel 2003进行testing。

试着用逗号代替? PHP有一个可以轻松处理的fputcsv函数