Hello,
Excel 2003 unter Windows kann die Umlaute nicht richtig darstellen. Ich vermute, der Header wird von Excel ignoriert. Da es mi UTF-8 nicht funktioniert, habe ich iso-8859-1 probiert mit demselben Fehler:
Du scheinst Recht zu haben. So funktioniert es:
<?php ### db_get_csv.php ### utf-8 ### ÄÖÜäöü
include ('../../includes/functions.php');
include ('../../includes/config.php');
$con = get_db_con();
$sql = "SELECT * FROM `login`";
$result = mysqli_query($con, $sql) or die($sql . '<br>' . mysql_error());
$_list = array();
while ($_row = mysqli_fetch_assoc($result))
{
$_list[] = $_row;
}
$fp = fopen('php://output', 'wb');
header('Content-Type: application/msexcel; Charset=utf-8');
#header('Content-Type: text/csv; Charset=iso8859-1');
foreach($_list as $key => $_value)
{
$_value = array_map('utf8_decode', $_value);
fputcsv($fp, $_value, "\t");
}
?>
Meine Datenbank ist auf utf-8 eingestellt und die Seite, aus der ich das aufrufe auch.
Excel kann kein utf-8.
OpenOffice.org-Calc önnet den Importmanager, wie erwartet, und zeigt an, dass ich UTF-8 behauptet habe, aber dass in der betroffenen Zeile ISO8859-1 drin steckt.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg