PHP und Microsoft Excel - Keine Umlaute

H

HerrVorragend

Registriert
Thread Starter
Dabei seit
14.07.2008
Beiträge
3
Reaktionspunkte
0
Hi,

ich programmiere zur Zeit mit PHP eine Applikation, die unter anderem eine Export-Funktion hat, mit der man sich Datensätze aus der Datenbank als CSV-Datei herunterladen kann. Das funktioniert auch soweit unter Windows ganz gut, nur unter Mac OS werden in Microsoft Excel die Umlaute nicht mehr angezeigt (nur seltsame Hyroglyphen), kann sich das jemand erklären?
Die Kollation der Datenbank ist utf8_general_ci, die der einzelnen Spalten latin1_german2_ci.

Danke und Gruß
Herr-Vorragend
 
Jo kenn ich.

Hab ich auch schonmal nen ganzen Tag lang mit allen möglichen Kombinationen ausprobiert.

Hat mit PHP->CSV->Excel nicht funktioniert. Also unterm Mac jetzt. Auf Windows ging es dann Gott sei Dank.


Vielleicht hat ja jemand noch ne Kombi, die ich nicht ausprobiert habe.
 
die Zeichensätze müssen halt über alle Etappen ( DB,Webserver, Client OS ) gleich sein! Dann klappts auch mit der CSV-Datei!
 
Machst Du das mit der PEAR Anwendung "Spreadsheet"?
Gibst Du in php den Header für UTF explizit mit an?
Wenn die Daten aus der Datenbank kommen, kann es auch helfen UTF in der mysql Syntax mit aufzunehmen.
 
Hallo,

nee die Dateien erzeuge ich "per" Hand, also Datensätze mit ";" joinen usw.

Als Header habe ich lediglich:

header('Content-Type: text/x-csv');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: attachment; filename='.$name.'.csv');
header('Pragma: no-cache');

Also nichts über den Datensatz. Sollte da besser etwas rein? Die PHP-Datei selbst, die das erzeugt, ist wie alle anderen in ANSI kodiert.

Danke und Gruß
 
Vielleicht hilft dir diese Zeile weiter
PHP:
<?php  header("Content-Type: text/html; charset=utf-8"); ?>
charset musst du natürlich für deine Kodierung entsprechend angeben.
 
Okay, danke für die Hilfe.

Ich habe das Problem jetzt damit "gelöst", dass ich in Excel die Option zur Umstellung des Zeichensatzes gefunden habe. Das genügt mir fürs erste.

Gruß
 
Wo befindet sich diese denn?

Die hab ich auch gesucht, aber nicht gefunden!!!
 
Versuch es mal so:
$workbook = new Spreadsheet_Excel_Writer();
$workbook->send('test.xls');
$worksheet->write(0, 0, utf8_decode('Ümläutö'));
 
Versuch es mal so:
$workbook = new Spreadsheet_Excel_Writer();
$workbook->send('test.xls');
$worksheet->write(0, 0, utf8_decode('Ümläutö'));

ich habe meinen excel export auch so realisiert. ich habe allerdings ein anderes problem. es gibt auch noch die klasse Spreadsheet_Excel_Reader() mit der importiere ich Excel-Daten in die DB. später werden diese dann wie oben exportiert. aber die umlaute werden doch nicht korrekt angezeigt. liegt das am import script oder kann man die excelfiles irgendwie auf utf-8 umstellen?
 
da machst du dasselbe nur eben mit utf8_encode();
 
da machst du dasselbe nur eben mit utf8_encode();

ja auf die idee bin ich auch schon gekommen. aber irgendwie scheint das nicht zu funktionieren. ich muss mir die excel files und den converter nochmal genau anschauen heute abend.
 
Zurück
Oben Unten