Das Programm läuft auf der iSeries und der Job läuft bereits unter 273. Das kann damit auch nichts zu tun haben, denn die meisten Zeichen sind ja korrekt. Es geht nur um ein paar einzelne Zeichen, die direkt beim Einlesen offenbar nicht interpretiert werden können und deshalb zum Fragezeichen konvertiert werden.
Es muß entweder eine Einstellung beim JDBC-Treiber sein oder vielleicht ist die Methode getString ja auch nicht dafür geeignet.

Gruß,
KM