Anmelden

View Full Version : Java AS400 JDBC – Daten mit Kyrillischen Zeichen



max40
16-03-09, 08:45
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8"><title></title><meta name="GENERATOR" content="OpenOffice.org 3.0 (Win32)"><style type="text/css"> <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> </style> Hallo,


ich versuchen Daten mit Kyrillischen Zeichen per JTOpen in die AS400 Datenbank zu packen!
Leider habe ich das Problem das die Daten z.B. „усфрпа/кыныые“ nur als (HEX) 3F3F3F... in der Datenbank auftauchen, so das ich natürlich beim einlesen auch nicht die richtigen Daten bekomme!


Meine Frage:
Was mach ich falsch und was muss ich machen damit dies Funktioniert?


Gruß

Fuerchau
16-03-09, 08:52
Deine Datenbank (PF) muss die korrekte CCSID für kyrillisch haben. Sonst weiß SQL nicht, wie die Daten zu interpretieren sind.

Da allerdings default in die JOB-CCSID gewandelt wird, hat auch ODBC/JDBC Probleme damit.
Hier hilft nur ein casten in UCS2:

cast(MyKyrill as graphic(nn) ccsid 13488)

Vorausgesetzt, die DB hat kyrillisch.
Ansonsten ist ein doppelcast erforderlich:

cast(cast(MyKyrill as char(nn) ccsid XXX) as graphic(nn) ccsid 13488)

Hat deine PF eine von 65535 (*hex) abweichende CCSID (z.B. 273), ist sogar ein 3-fach cast erforderlich:

cast(cast(cast(MyKyrill as char(nn) ccsid 65535) as char(nn) ccsid XXX) as graphic(nn) ccsid 13488)