PDA

View Full Version : Datei in UTF-16



Flappes
20-03-06, 08:54
Hallo Forum,

ich muss eine Datei (1 langes Feld) ins IFS als PC-Datei im Format UTF-16 erstellen. Die Datei ist extern beschrieben mit einem Textfeld. Bin bei der Erstellung auch schon über den Umweg einer nicht extern beschriebenen Datei gegangen. Dies funktionierte auch nicht.

Ist dies mit den Befehlen CPYTOSTMF oder CPYTOIMPF überhaupt möglich, oder muss dies irgendwie anders erstellt werden?

gruss Christian

lieser
20-03-06, 10:06
so sollte es gehen (aus einem Artikel von Scott Klement,
iSeriesnetwork.com)


D Test2 s 50A
D Test3 s 50C CCSID(1200)

/free

// Assign UCS2 text to a field
Test = %ucs2('Bob the squirrel loves nuts.');

// Convert text from EBCDIC (in Test2) to UTF-16
// (in Test3)
Test2 = 'Alexander is a salamander.';
Test3 = %ucs2(Test2);

/end-free


MfG
WL

Flappes
20-03-06, 10:32
Hallo Lieser,

Genauso haben wir es in unserem RPG auch gemacht, allerdings ist das Feld in der Datei mit G definiert. Mit welchen Paramter muss der CPYTOXXX gemacht werden?

auszug aus der Datei:
A SATZ1 128G CCSID(1200)

Wenn ich die erstellte Datei mit dem Windows-Editor öffne, sind die Buchstaben immer mit einem ' ' getrennt, und die CRLF sind nicht erkannt. anscheinend setzt er das mit den "Doppel-Byte" nicht korrekt um.

gruss Christian

Fuerchau
20-03-06, 11:44
Der Windows-Editor unterstützt kein UTF-16, daher sind die Daten dort nicht korrekt.
Der CPYTOSTMF muss dann binär kopieren, also ohne Umwandlung, CRLF sind ebenso dann in die Datei mit UCS2 zu schreiben "%UCS2(x'0D0A'".

Flappes
23-02-07, 10:15
Hallo,

wir haben das Problem immer noch nicht gelöst.
Hat noch jemand eine Idee?

gruss christian

BenderD
23-02-07, 11:06
Hallo,

wieso das ganze CPYxxx Gedöns, warum gebt ihr das nicht direkt in ein Streamfile aus? Auf meiner Open Source Seite gibt es da einen Outstream, dem man sicherlich auch UTF_16 beibringen kann.

mfg

Dieter Bender


Hallo,

wir haben das Problem immer noch nicht gelöst.
Hat noch jemand eine Idee?

gruss christian