PDA

View Full Version : Euro Symbol



axl
10-08-07, 10:39
Hallo,

wenn ich mittels JDBC das EURO-Symbol in die AS400 schreibe u. mittels JDBC wieder auslese ist das EURO-Symbol futsch. Mit allen anderen deutschen Sonderzeichen gibt's keine Probleme (die CCSID dieser Datei ist auf 273 eingestellt). Habe dieses Forum schon durchsucht u. auch schon den Hinweis gefunden, dass bei CCSID=273 bei der Umsetzung das EURO-Symbol ausgenommen ist, aber um genau dieses geht's mir ja.

Vielen Dank im voraus

Fuerchau
10-08-07, 11:16
Die CCSID ist 1141 statt 273.

axl
10-08-07, 11:35
Danke für die superschnelle Antwort, aber
die CCSID=1141 hatte ich auch schon ausprobiert u. hat nix gebracht (Hatte mit chgpf die CCSID geändert u. dann extra einen neuen Datensatz erfaßt.)

Wenn ich allerdings nicht mit jdbc sondern mit odbc (mittels MS Access) das Euro-Symbol in die Tabelle schreibe, klappt's!? Mit jdbc leider nicht.

axl
10-08-07, 12:55
Ok, kann das Ganze jetzt noch etwas einschränken. EURO-Symbol funktioniert prima, wenn ich Standard-SQL mache u. auch wenn ich mittels Prepared-SQLs arbeite. Leider rufe ich eine 'External Stored Procedure' auf u. die wiederum ein ILE-RPG-Programm.

Fuerchau
10-08-07, 15:01
Dann kommt es auf die Job-CCSID an.
Die steht entweder auf *HEX (65535) oder 273.
Dann passt das nicht.

Ändere die JOB-CCSID auf 1141 UND die Datei auf 1141.

axl
14-08-07, 07:55
Danke für den Hinweis.

Wenn ich die JOB-CCSID auf 1141 ändere geht's leider immer noch nicht. Da ich die JOB-CCSID erst nach dem initialisieren des Jobs von 273 auf 1141 ändere (WRKJOB...) mag ich auch nicht ausschließen, dass es funktionieren würde, wenn der JOB sich schon mit der richtigen CCSID initialisieren würde. Kann ich aber nicht ausprobieren, weil mich der sysadmin nicht läßt.

Was aber letztlich funktionierte war das explizite angeben der CCSID beim Parameter in der 'externen stored procedure':

INOUT BTEIL CHAR(70) ccsid 1141 ,