Die Umsetzungs-Dll muss aber entsprechend geschrieben werden.
Wie willst du aber mit den gemischten Daten umgehen ?
Vielleicht sind ja alle Zeichen in der DB vorhanden, also Umlaute und ungarisch !
Woran soll man nun die Korrektheit der Daten erkennen ?

Es gibt da einen kleinen Trick:
1. Version
Erstellen einer identischen Tabelle mit CCSID 65535 !
Erstellen einer identischen Tabelle mit CCSID 870 !

Per Insert/Select die Daten aus der Tabelle mit 273 in die mit 65535 und von da aus weiter nach 870.
Durch den Zwischenschritt mit 65535 erfolgt keine Codewandlung !

2.Version
select cast(cast(myfield as char(len) for bit data) as char(len) ccsid 870) as myfield

Ob das allerdings korrekt funktioniert kann ich nicht sagen, das Statemente ist so korrekt.