Tom: CSV an Excel ausliefern

Beitrag lesen

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

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bikers-lodge.com