PDA

View Full Version : Russisch in Datei



Seiten : [1] 2

gerchtl
05-12-06, 13:15
Hallo,

Wir drucken schon seit einiger Zeit russische Listen, jetzt ist aber die Anfrage gekommen russische Zeichen in einer Textdatei im IFS bereitzustellen.

Bisher lief es so dass unsere russischen Uebersetzerinnen mit einer speziellen Sitzung/Device die Texte eingegeben haben. Fuer alle anderen Benutzer sehen diese Zeichen wie Datenmüll aus.

Zum Drucken haben wir eigene Printfiles die bei den russischen Textfeldern FNTCHRSET(C04203B0 T1001025) als Attribut angegeben ist.

Ein Cpysplf funktioniert bei diesen Spools nicht.

Ich weiss wirklich nicht mehr weiter, hoffentlich kann mir jemand helfen.

danke
ger

Fuerchau
05-12-06, 13:32
Tja, das einfachst wird sein, die Daten mit einer russischen CCSID (Job/Datei) per CPYTOIMPF ins IFS als CCSID 1200 (UNICODE) oder 1208 (UTF-8) zu kopieren.

Wenn die Daten nur so kopiert werden, muss das Windows in russisch sein, da dann die Zeichen als russisch interpretiert werden.

KM
05-12-06, 13:50
Du kannst die Daten, sofern die Datei in der CCSID 1154 vorliegt, mit dem Filetransfer Add-In in Excel laden und die Datei dann als Unicode-Textdatei speichern. Das wäre die einfachste Variante.

Gruß,
KM

gerchtl
05-12-06, 13:58
Noch eine kleine Frage:

Momentan sind die Daten in einer Datei mit CCSID 273 gespeichert; reicht es wenn ich die Datei in die ich schreiben will mit der russ. CCSID erstelle?

danke
ger

KM
05-12-06, 14:02
Das kann ich mir so jetzt nicht ganz vorstellen. Du kannst keine russischen Zeichen in einer Datei mit CCSID 273 haben, denn unter dieser Codepage gibt es keine russischen Zeichen. Vermutlich hat die Datei die CCSID 65535. Was sagt denn der DSPFD ?

Gruß,
KM

gerchtl
05-12-06, 14:05
Doch, die Datei ist in CCSID 273. Auf meiner Sitzung sehen die russischen Zeichen so aus:
ú¨³Ó¬ûÒû¦ ¬ûó² ÿ ò¨ú¾õ.òûóÓ|ûõ

Die Umsetzung dieser Zeichen erfolgt dann im Druckprogramm/Prinfile durch die oben angeführte FNTCHRSET.

grübel....

Fuerchau
05-12-06, 14:10
In einer Datei mit CCSID 273 kann alles sein, es kommt für die Darstellung immer nur auf die Schrift an (Font).
Stelle mal deine Sitzung auf Windings oder Symbol. Diese Zeichen hast du auch nicht in der Datei ;)

Aber im Ernst.

Die Datei in eine PF mit 65535 kopieren, von dort in eine PF mit Russisch (870???), von dort dann per CPY ins IFS mit UTF-8 (1208) ausgeben, die AS/400 weiß dann, dass es russisch sein soll.

gerchtl
07-12-06, 06:59
Ja so funktionierts:

Datei von CCSID 273 auf 65535 und dann auf 870 oder 1025 kopieren.
Job muss auch die russ. CCSID haben dann funktioniert auch das CPYTOIMPF!

Vielen Dank fuer die Hilfe!

Gerhard

gerchtl
07-12-06, 09:58
Geht ja noch einfacher!

Es reicht ein Chgjob auf CCSID 1025 und dann ein cpytoimpf, jedoch sind dann die deutschen Sonderzeichen nicht mehr richtig.

Fuerchau
07-12-06, 10:39
Das wundert mich rein gar nicht.
Beim Lesen wird in die CCSID 1025 gewandelt und dann ausgegeben.
Beim CPYF nach 65535 und dann nach 1025 erfolgt keine Codewandlung !

Wenn die russischen Zeichen an einem russischen Terminal mit 1025 erfasst und in die DB mit 273 geschrieben werden, dann hält die AS/400 dies auch für 273, da normalerweise zwischen Terminal und Job keine Codewandlung durchgeführt wird.