Hallo liebe Community,
ich habe dieses Thema bereits mehrfach in diesem Forum gefunden – auch im Internet wurde die Frage mehr als einmal gestellt. Es war mir dennoch nicht Möglich das Problem zu lösen, weshalb ich euch hier um Hilfe bitte: Ich exportiere mit Hilfe des folgenden Codes eine Tabelle als CSV:
Das klappt alles so weit gut, nur dass eben alle Umlaute zerstört sind. Die Kollation der Datenbanktabelle steht auf: utf8_unicode_ci
Weiß irgendwer, warum das nicht funktionieren will?
Vielen Dank!
tm
P.S: Ich habe zwar gesehen, dass es eine fertige Klasse für PHP > Excel gibt aber ich würde gerne generell verstehen, warum ich das Problem habe und es so lösen.
ich habe dieses Thema bereits mehrfach in diesem Forum gefunden – auch im Internet wurde die Frage mehr als einmal gestellt. Es war mir dennoch nicht Möglich das Problem zu lösen, weshalb ich euch hier um Hilfe bitte: Ich exportiere mit Hilfe des folgenden Codes eine Tabelle als CSV:
PHP-Code:
<?
header('Content-type: application/x-octet-stream');
header("Content-Type: text/x-csv; charset=UTF-8");
header("Content-disposition: attachment; filename=newsletter.csv");
require("../config.inc.php");
$result = mysql_query($sql);
$ResultPointer = mysql_query("SELECT vorname, name, email FROM newsletter WHERE opt_in=1");
for($i = 0, $Export = ""; $i < mysql_num_rows($ResultPointer); $i++)
{
$Daten = mysql_fetch_object($ResultPointer);
$Spalte[] = str_replace("\"", "\"\"", $Daten->vorname);
$Spalte[] = str_replace("\"", "\"\"", $Daten->name);
$Spalte[] = str_replace("\"", "\"\"", $Daten->email);
for($j = 0; $j < count($Spalte); $j++)
{
$Export .= "\"" . $Spalte[$j] . "\"";
if($j != count($Spalte)-1)
{
$Export .= ";";
}
}
$Export .= "\r\n";
$Spalte = "";
}
echo$Export;
?>
Weiß irgendwer, warum das nicht funktionieren will?
Vielen Dank!
tm
P.S: Ich habe zwar gesehen, dass es eine fertige Klasse für PHP > Excel gibt aber ich würde gerne generell verstehen, warum ich das Problem habe und es so lösen.
Kommentar