PDA

View Full Version : Umlaute bei ASCII-Dateien



Heinz Klenk
17-06-13, 14:08
Hallo Forum,

ich möchte Daten von der AS/400 mittels IBM i Access für Windows in eine ASCII-Datei übertragen; leider gehen dabei sämtliche Umlaute und Sonderzeichen verloren.
Hat jemand einen Tipp, wie´s richtig gemacht wird ??

Besten Dank im Voraus

Heinz

Fuerchau
17-06-13, 15:16
Durch richtiges anwenden von CCSID's.
Beispiel:
PF-Datei CCSID(273)
JOB CCSID(273)
IFS-Datei CCSID(1252)

Welche Befehle verwendest du denn?

Heinz Klenk
18-06-13, 07:56
Ich verwende keinen bestimmten Befehl, sondern nehme einfach die Übertragung, die Access für Windows anbietet, mittels dtf. Dort wird das CCSID leider nicht aktiv angezeigt
Die Datei wird auch nicht ins IFS übertragen, sondern einfach in einen Ordner auf dem PC.
Ich wollte eine Hardcopy hier einstellen, aus der das ersichtlich ist aber das geht offensichtlich nicht - leider.

Gruß
Heinz

Fuerchau
18-06-13, 08:09
Wenn du von MS-Access sprichst verwendest du wohl Import- oder verknüpfte Tabellen via ODBC.

Nun kommt es mal wieder auf die Systemeinstellungen der AS/400 an.
Wenn der Systemwert QCCSID auf 65535 steht, hat der ODBC-Job Schwierigkeiten auf die richtige CCSID (z.B. 273 nach ANSI 1252) zu konvertieren.

Auch die Datei muss eine richtige CCSID haben (DSPFD).

Heinz Klenk
18-06-13, 08:33
Also die Datei auf der AS/400 hat die CCSID 273.
Wenn ich bei der "Datenübertragung von IBM i" auf die Funktion: "Details zu Dateien" gehe, gibt es das Feld:
Systemdateien umsetzen in:
Wenn ich dort ASCII einsetze fehlen die Umlaute, oder werden falsch dargestellt; nehme ich hingegen die Auswahl ANSI, werden die Umlaute in der PC-Datei richtig dargestellt.
Meine Frage: Ist die erstellte Datei mit der Auswahl ANSI trotzdem eine ASCII-Datei ???.
Wir benötigen die Daten für die Weitergabe an EDIFACT als ASCII-Datei.
Bitte um Verständnis, wenn ich so blöd frage, aber ich kenne mich da bisher nicht aus.

Fuerchau
18-06-13, 09:17
Ah ja.
ASCII ist der allgemeine Begriff und kommt noch aus der guten alten DOS-Zeit.
Verwendet wird die Codepage 850!
Dabei sind die Codes größer Hex 7F gar nicht belegt.

Seit Windows98 spricht man von ANSI, was der Codepage 1252 bei Deutsch entspricht. Hier ist jeder Codepunkt bis Hex FF belegt.

Es gibt da noch einen Zwischenschritt 819, der allerdings die Codes Hex 80-9F nicht belegt. Man sollte also immer 1252 für Windows Deutsch verwenden.

Bei Linux sieht es etwas anders aus, hier wird noch häufiger mit einem vollständigen 850-Satz gearbeitet, kann man aber konfigurieren.

Heinz Klenk
24-06-13, 06:57
Hallo Herr Fuerchau,

ich kann die Daten mit ANSI umsetzen, damit ist mein Problem erledigt.

Herzlichen Dank

Heinz