Questions & Answers

aVogt
Returning Creator

Datei in anderem Zeichensatz generieren als bei Sprachen definiert wird

Hallo,

bei der Verรถffentlichung eines Projektes, erzeuge ich eine csv-Datei (da stehen viele Datensรคtze aus Datenquellen drin).

Die csv-Datei kann mit Excel geรถffnet werden. Dummerweise hat die csv-Datei UTF-8 als Encoding/Zeichensatz, und kann somit zwar mit Excel geรถffnet werden, aber die Umlaute werden nicht richig angezeigt.

Excel fordert glaube "ANSI" (im Excel eine Datei als csv gespeichert und die hatt ANSI als

Encoding/Zeichensatz).

Wie bekomme ich nun die csv-Datei in den anderen Zeichensatz? Mir fรคllt da nicht wirklich etwas ein.

Einzigste Mรถglichkeit die ich gefunden habe, wรคre eine zweite Sprache anzulegen, die den gewรผnschten Zeichensatz generiert.

Nachteil: Ich habe bei Inhalten/Medien/Struktur diese zweite Sprache im JavaClient. Da die csv-Datei automatisch ohne Nutzerzutun generiert wird, brauche ich die Anzeige nicht. AuรŸerdem wird die csv-Datei mit nur einer Vorlage generiert.

Hatte jemand schon mal ein solches Problem und wenn ja wie hat er es gelรถst?

Bin dankbar fรผr jeden Tipp.

0 Kudos
4 Replies
feddersen
Community Manager

Ausgabe per CMS_SET in einen String speichern und per Mini-Script den String konvertieren.

String ansi = new String (utf8String.getBytes("UTF-8"),"ANSI");

0 Kudos

So was habe ich auch schon versucht, hat leider nicht geklappt, ich habs auch mit anderen Zeichensรคtzen versucht.

รœbrigens ANSI wird nicht verstanden,Windows-1252 ist das Gegenstรผck (wird zumindest im Internet geschrieben)

Wahrscheinlich liegt es daran, dass die Datei selber noch vom Typ UTF-8 ist. Wenn ich die generierte UTF-8 csv-Datei (mit den nicht konvertierten Text) im Textpad รถffne und diese dann im Zeichensatz ANSI speichere und dann in Excel รถffne ist alles schรถn.

Da man wahrscheinlich den Typ nicht der csv-Datei nicht รคndern kann, muss man den wohl nach der Generierung รคndern oder hat jemand noch eine andere Idee?

0 Kudos

Im Template hat man keine Chance, das Datei-Encoding zu รคndern. Die Datei ist zum Zeitpunkt, wo das Template die Kontrolle bekommt, bereits angelegt und die Ausgabe erfolgt mit dem definierten Encoding.

Der korrekte Weg wรคre die Erzeugung einer Datei รผber ein Modul, so wie es das "build-in-Modul" FontImage macht (das schreibt Binรคrdaten).

Der ad-hoc Weg wรคre eine Nachbearbeitung nach der Generierung, in der alle "*.csv" Dateien konvertiert werden.

Peter

Ich hab mich fรผr die Nachbearbeitung nach der Generierung entschieden, das klappt nun wie gewรผnscht (mit "ISO-8859-1" - bei anderen Encodings fehlten wieder die Umlaute, bzw. wurden in Excel nicht richtig angezeigt)

0 Kudos

Type a product name