UTF8 und UTF16 müssen auch speziell behandelt werden, da der Inhalt variabel lang ist (1-2 bzw 1-4 Bytes).
Wenn du z.B. ein 10-stelliges UTF8-Feld mit 10x 'Ü' füllst, benötigt der Inhalt 20 Stellen, es passt also nicht !
Im ILERPG benötigst du ggf. Konvertierfunktionen.

UCS-2 wird in ILERPG automatisch als Type C deklariert.
Beim EVAL musst du ggf. mit %CHAR() in SBCS und % UCS2() zurück konvertieren.

Für diese Varianten gibt es KEINE DSPF/PRTF-Unterstützung, du musst also programmtechnisch reagieren.

Auf der AS/400 fährst du am Besten mit UCS2.