Hallo Fuerchau,

das ist mir soweit schon klar. Aber da er erst beim WRITE auf das Satzformat abstürzt denke ich mal es ist ein Problem im System. Das Programm stürzt auch ab wenn ich dem DATEIFELD (mit 30A und CCSID(1208) definiert) ein einzelnes Zeichen wie 'Ä' zuweise da er anscheinend beim Write den 1 Byte Wert von 'Ä' in einen 2 Byte Wert konvertieren will. Die einzige Idee die mir jetzt dazu einfällt wäre es das Zeichen 'Ä' bereits vor der Zuweisung an das Dateifeld nach UTF-8 zu konvertieren, dann bräuchte er beim WRITE nichts mehr umsetzen. Wenn ich UCS-2 in der Datei verwende stürzt er auch nicht ab sondern schneidet die Zeichenfolge einfach ab wenn sie zu lang ist.

Ausserdem finde ich es auch seltsam das die Hex-Zeichen bei UTF-8 in der Datei so gar nicht denen von Unicode.org entsprechen. Wenn ich z.B. das Zeichen 'Ä' per SQL in ein UTF-8 Dateifeld einfüge und mir den Hex-Code danach mit DSPPFM anzeige wird Hex '4A' ('Ä' in Codepage 273) nach Hex 'C384' konvertiert (entspricht laut den Tabellen von Unicode.org einem asiatischem Zeichen). Bei UTF-16 wird es korrekt nach Hex '00C4' konvertiert.

Aber ich hab jetzt soweit mit dem Thema abgeschlossen. Mal abwarten was sich in nächster Zeit in der Richtung noch auf der iSeries tut.


cu
Martin