PDA

View Full Version : Dubble-Byte/Graphic/UTF16 in RPG



andreaspr@aon.at
17-11-09, 09:19
Hi Forum,

hat jemand von euch schon mit Dubble-Byte Datentypen in RPG beschäftigt?

Ich habe im RPG-Referenz Handbuch der IBM zwar ein paar Beispiele gefunden, jedoch konnten diese nie übersetzt werden.



h ccsid (*graph: 300)
D v1 S 10G

/Free
v1 = %graph('hallo welt' :1200);
dsply v1;
/End-Free


Msg-ID:
RNF0587
Nachrichtentext:
Im ersten Parameter für %GRAPH fehlen die DBCS-Start- und -Endezeichen.

Leider konnte ich im Handbuch die DBCSs nicht finden. Die werden normal über entsprechende "unicode Tastatur" automatisch mitgegeben (laut Buch), jedoch wie es im Programmcode gemacht werden muss hab ich nichts gefunden.

Hat da jemand vlt. einen Tip für mich?
Danke schon mal!
lg Andreas

Fuerchau
18-11-09, 09:49
Für die Unicode-Verarbeitung solltest du den Datentyp "C" und CCSID 13488 (Default) bzw. 1200 verwenden.
Um zwischen Zeichen und Unicode zu wechseln benötigt man bei einfachen Moves/Eval's keine Funktionen, das mach der Compiler automatisch.
Für explizite Umwandlungen stehen die Funktionen:
%char(MyUcs): UCS2->CHAR
% UCS2(MyChar): CHAR->UCS2
zur Verfügung.
Eine UTF8-Unterstützung (1208) gibt es ausschließlich mit SQL.

Achtung:
Bei der Codewandlung von UCS2 nach CHAR kann es zu Datenverlusten kommen, da ggf. phonetische Ersatzwerte verwendet werden.

andreaspr@aon.at
18-11-09, 10:58
Hallo Fuerchau,

danke für die Antwort.
Das war genau das was ich gesucht hab. Jetzt funktioniert es. :)