Für Job's gilt die Default-CCSID QCCSID des Systems.
Für abweichende Benutzer-Einstellungen kann man im USRPRF noch eine LOCALE angeben (Muster sind in der Lib QSYSLOCALE, erstellt mit CRTLOCALE).
Per SETJOBATR des CRT/CHGUSRPRF kann man dann z.B. die CCSID aus der LOCALE übernehmen.

Bei der Verbindung kann man nur angeben, dass CCSID 65535 beim Lesen/Schreiben in die Default-CCSID (ergibt sich aus QLANGID) gewandelt werden soll.

Beim Schreiben per ODBC müssen die Parameter als VARWCHAR/WCHAR definiert sein, Default ist nur VARCHAR/CHAR.

Wird der SQL insgesamt zusammengebaut, so muss bei der Verbindung bereits eingestellt werden, dass der gesamte SQL-String als UCS2 übergeben wird.
Ansonsten gibts Verluste.
Besser ist es, mit Parametermarkern "?" und expliziter Parameterdefinition zu arbeiten.