首页 文章

CSV传输到Excel的编码错误

提问于
浏览
1

那么excel 2003可以打开csv文件,如果分隔符是tab,它可以自动将数据转换为正确的列 .

那么问题在于不是ascii的字符 . libreoffice打开用于选择charset的对话框,但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);

//编辑我发现修复程序添加了此 Headers ('Content-type:application / ms-excel; charset = utf-8; encoding = utf-8');但我没有用excel 2003测试它 .

1 回答

  • 0

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

相关问题