Hi Dieter,

Es sollten nur jene Spalten in Unicode definiert werden die auch wirklich entsprechende Zeichen speichern müssen.
Z.B. Spalten die nur einen Status beinhalten würde ich weiterhin als CHAR definieren.

In RPG kannst du die Variablen als UCS2 oder Graphic definieren.
Und du kannst auch mit Char-Zeichen/Variablen in beide Richtungen arbeiten
Code:
DCL-S cust_name UCS2(100);
char_var = %Char (cust_name);
if (cust_name <> %UCS2('Maier'));
Es gibt auch UTF-8 (CCSID 1208). Damit werden die ersten 128 Zeichen als Single-Byte-Char gespeichert und nur im Bedarfsfall, wenn du z.B. Umlaute, Chinesisch, Russisch usw. verwendest, als Multi-Byte-Char gespeichert.
Vorteil: Geringer Speicherverbrauch wenn du hauptsächlich nur die ersten 128 Zeichen benutzt.
Nachteil: Höherer Speicherverbrauch wenn du oft mehr als die ersten 128 Zeichen benötigst.

Beispiel mit dem "€" Zeichen:
Unicode: 00100000 10101100
UTF-8: 11100010 10000010 10101100

Ein größeres Thema ist eher die Ausgabe dieser Zeichen.
Wenn du HTML erzeugst, ist es kein Problem ... alles als UTF-8 raus und fertig.
Nur wenn die APIs die du für die HTTP Antwort benutzt UTF-8 unterstützen.
Da gibt es auch unterschiedliche Technologien die nicht alle native UTF-8 unterstützen (PHP, Net.Data, CGI, ...)
PHP z.B. hat keine Probleme damit.

Wenn du aber 5250 Masken hast die nur Bestimmte Zeichensätze unterstützen gehen halt Informationen verloren.

lg Andreas