在excel中打开php生成的csv文件,将utf-8字符作为特殊字符

时间:2016-10-27 10:42:41

标签: php excel csv encoding utf-8

当我使用记事本或任何其他文本编辑器打开php生成的csv文件时,我能够看到utf-8字符,因为这里没有问题。但是当我双击文件以excel打开时,utf-8字符显示为这样的特殊字符。

Lahnstraße
下面是生成csv文件的代码。

$fh1 = fopen($current_csv_name, 'w+');
fprintf($fh1, "\xEF\xBB\xBF");
foreach($csv_data as $response)
{
   fputs($fh1, implode($response, ';')."\n");
}
fclose($fh1);

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

尝试以这种方式生成,然后在Excel中打开它,

header('Content-Type: application/excel');
header('Content-Disposition: attachment; filename="SomeName.csv"');
$fp = fopen('php://output', 'w');
foreach ( $data as $line ) {
     $val = explode(",", $line);
     fputcsv($fp, $val);
}
fclose($fp);