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

在excel中打开php生成的csv文件,将utf-8字符作为特殊字符,php,excel,csv,encoding,utf-8,Php,Excel,Csv,Encoding,Utf 8,当我使用记事本或任何其他文本编辑器打开php生成的csv文件时,我能够看到utf-8字符,因为这里没有问题。但当我双击要在excel中打开的文件时,utf-8字符显示为特殊字符,如下所示。 Lahnstraße 任何帮助都将不胜感激。尝试以这种方式生成,然后在Excel中打开它 header('Content-Type: application/excel'); header('Content-Disposition: attachment; filename="SomeName.csv"')

当我使用记事本或任何其他文本编辑器打开php生成的csv文件时,我能够看到utf-8字符,因为这里没有问题。但当我双击要在excel中打开的文件时,utf-8字符显示为特殊字符,如下所示。 Lahnstraße
任何帮助都将不胜感激。

尝试以这种方式生成,然后在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);

“特殊角色”没有任何意义。你的意思是,拉恩斯特应该表现得像拉恩斯特,纽姆斯特应该表现得像纽姆斯特
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);