Hallo zusammen,
ich habe ein php-Skript, das Grafiken im SVG-Format erzeugt und dann im Browser anzeigt oder zum Download anbietet. Die Grafiken lassen sich in verschiedenen Browsern problemlos anzeigen (IE, FF, Chrome).
Die Auslieferung zum Download erfolgt mit
header( 'Content-Disposition: attachment; charset=utf-8; filename='.$fname );
und lässt das File auch unter dem gewünschten Namen abspeichern.
Aber: Rufe ich das .svg-File anschließend im Browser auf, kommt es nicht zur korrekten Anzeige.
Dies passiert, wenn Beschriftungen in den Grafiken Sonderzeichen enthalten (Umlaute genügen da schon).
Rufe ich ein solches .svg-File z-B. mit Notepad auf und speichere es ansonsten unverändert als UTF-8 codiert, wird es anschließend wie gewünscht dargestellt.
Eigentlich dachte ich, dass durch die Angabe charset=utf-8; im header bereits sichergestellt wäre, dass auch das Speichern im gewünschten Format erfolgt, aber das scheint nicht der Fall zu sein.
Habe ich da etwas falsch gemacht?
Oder hängt das am Ende vom Browser des Empfängers ab und ich kann nichts machen?
ich habe ein php-Skript, das Grafiken im SVG-Format erzeugt und dann im Browser anzeigt oder zum Download anbietet. Die Grafiken lassen sich in verschiedenen Browsern problemlos anzeigen (IE, FF, Chrome).
Die Auslieferung zum Download erfolgt mit
header( 'Content-Disposition: attachment; charset=utf-8; filename='.$fname );
und lässt das File auch unter dem gewünschten Namen abspeichern.
Aber: Rufe ich das .svg-File anschließend im Browser auf, kommt es nicht zur korrekten Anzeige.
Dies passiert, wenn Beschriftungen in den Grafiken Sonderzeichen enthalten (Umlaute genügen da schon).
Rufe ich ein solches .svg-File z-B. mit Notepad auf und speichere es ansonsten unverändert als UTF-8 codiert, wird es anschließend wie gewünscht dargestellt.
Eigentlich dachte ich, dass durch die Angabe charset=utf-8; im header bereits sichergestellt wäre, dass auch das Speichern im gewünschten Format erfolgt, aber das scheint nicht der Fall zu sein.
Habe ich da etwas falsch gemacht?
Oder hängt das am Ende vom Browser des Empfängers ab und ich kann nichts machen?