[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005

    XML und iSeries

    Hallo,

    hat jemand von Euch schon mal mit dem XML-Parser von IBM gearbeitet (XML4PR400) ? Ich bin gerade dabei eine Anwendung dafür zu schreiben. Habe auch schon die ersten XML-Daten damit auf die iSeries schaufeln können. Allerdings scheint der Parser immer nur die CCSID 37 zu verwenden, so dass die Umlaute nicht korrekt übertragen werden. Egal ob ich CCSID 273 oder irgendwas anderes angebe, ich bekomme einfach keine Umlaute korrekt dargestellt. Weiß jemand von Euch was ich da anders machen müsste ? Habt Ihr noch andere Erfahrungen mit diesem Parser gemacht ?

    Gruß,
    KM

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Welche CCSID hat denn deine Quelldatei im IFS ?

    Werden die Umlaute denn über WRKLNK und dann Anzeige mit 5 auf dem Dokument korrekt angezeigt ?

    Ggf. mußt du die Daten in eine IFS-Datei mit korrekter CCSID umsetzen. Am besten geht das dann mit "FTP LOCALHOST".
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo Fuerchau,

    ich habe die Dateien unter Windows mit der Option encoding="ISO-8859-1" erstellt. Sie haben im IFS die CCSID 850. Wenn ich sie in CCSID 273 konvertiere und mein Programm aufrufe, erhalte ich den Fehler MCH3601. Das scheint irgendein Pointer-Problem zu sein.
    Sonst noch irgendwelche Ideen ?

    KM

  4. #4
    Registriert seit
    May 2002
    Beiträge
    2.642

    IFS UMLAUTE

    Hallo KM,
    mache doch einfach einen copy command und ändere dabei die
    Codepage auf 1252 und Du hast die Umlaute. (Copy auf sich selbst).

    Gruss TARASIK

  5. #5
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo Tarasik,

    danke für den Tip. Hat mich jetzt aber auch nicht viel weiter gebracht. Ich habe die Datei wie beschrieben kopiert. Jetzt liegt sie mit CCSID 1252 vor. Ich sehe jetzt sowohl unter Windows, als auch im IFS die Umlaute. Wenn ich allerdings den Parser drüber laufen lasse, der die Daten in die DB2 Datei überträgt, werden die Umlaute wie folgt konvertiert:

    ü -> }
    ö -> ¦
    Ä -> [

    Was kann man da sonst noch einstellen ?

    KM

  6. #6
    Registriert seit
    Jan 2001
    Beiträge
    340
    Was kann man da sonst noch einstellen ?
    • die CCSID der DB2 table
    • die CCSID des Jobs
    HTH + Guss
    Rolf

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Es gibt da noch irgendeine Option, die besagt, dass Sonderzeichen im XML mit den HTML-Formaten "&auml." o.ä. angegeben werden müssen.

    Ist das Nicht der Fall stimmt ggf. die Einstellung ISO-8859-1 nicht !

    Siehe auch: http://www.ramsch.org/martin/uni/fmi-hp/iso8859-1.html

    d.h., ASCII-Zeichen jeseits der 127 (x7f) dürfen nicht direkt angegeben werden.

    Bei GOOGLE-Suche "ISO-8859-1" kommt eine ganze Menge.

    Ggf. ist der Hexcode unter CCSID 850 (ASCII) / 1252 (ANSI) ein anderer als ISO-8859-1.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Dec 2000
    Beiträge
    450
    Such doch mal im Internet nach selfhtml. Dort gibts auch einen Abschnitt über xml. Und da ist auch beschrieben, dass Umlaute und noch ein paar weitere Zeichen ersetzt werden müssen.

    Gruß
    Bruno

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wenn ich in der Code-Tabelle ISO-8859-1 (siehe obigen Link) z.B. das "Ü" suche, hat dieses den Hexwert "DC" (Position 220) und muß ggf. als "& Uuml;" dargestellt werden.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  10. #10
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Ich hab jetzt nochmal ein paar Sachen probiert. Ich glaube nicht, dass es am "encoding"-Teil in der XML-Datei liegt. Wenn ich "ISO-8859-1" angebe, kann ich das "ü" genau so eingeben und wird auch korrekt dargestellt. Gebe ich z.B. "UTF-8" an, was der Default-Wert ist, dann muß ich das Ersatzzeichen "ü" angeben, damit das Zeichen korrekt dargestellt wird. Beide Methoden führen zum gleichen Ergebnis.

    Ich habe jetzt mal die Zeichen in der Codepage 37 gesucht und festgestellt, dass durch den XML-Parser jeweils genau das Pendant aus der Codepage 273 in meine DB2-Datei übertragen wird. Deshalb wird aus "ü" (Hex DC) dann "}" usw.

    Jetzt muß ich nur noch herausfinden warum das passiert. Habe bereits meine DB2-Datei und auch die XML-Datei im IFS mit den unterschiedlichsten CCSIDs versehen, jedoch ohne Erfolg.

    Vielleicht fällt Euch ja nochwas ein. Arbeitet denn keiner von Euch mit diesem Parser ???

    Gruß,
    KM

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    UTF-8 ist ein Doppelbyte-Zeichensatz (CCSID 13488), daher die Probleme in der Darstellung bei UTF-8.

    Ich glaube nicht, dass das ein Problem des Parsers ist sondern deiner Laufzeitumgebung.

    Wie ist die CCSID deines Job's zur Laufzeit (sollte NICHT 65535 sein !) ?

    Ist der Hexwert in deiner Datenbank (nach Übernahme) immer noch x'DC' bei CCSID 273 ?

    Welche CCSID hat denn deine DB-File ?
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  12. #12
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Ich glaube ich habe jetzt die Lösung gefunden. Wenn die XML ganz normal unter Windows mit encoding="ISO-8859-1" erstellt wird und somit im IFS mit CCSID 850 vorliegt, dann muß ich folgende Einstellungen vornehmen:

    Job-CCSID -> 37
    DB2-CCSID -> 273

    Damit werden die Daten korrekt in die Datei geschrieben. Der Job, der den Parser aufruft, muß also die CCSID 37 haben, während die Datei die CCSID 273 haben muß. Alle anderen Einstellungen führen zu einem falschen Ergebnis.

    Ich weiß jetzt zwar auch nicht so recht warum das so funktioniert, aber Hauptsache es klappt jetzt.

    Vielen Dank nochmal für Eure Hilfe !

    KM

Similar Threads

  1. XML Extender for iSeries
    By mom in forum IBM i Hauptforum
    Antworten: 30
    Letzter Beitrag: 22-01-07, 15:03
  2. Webservices, SOAP, XML und Labeldruck
    By vige1000 in forum NEWSboard Linux
    Antworten: 4
    Letzter Beitrag: 21-12-06, 11:56
  3. Tools von GOERING iSeries Solutions
    By Kirsten Steer in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 11-12-06, 08:25
  4. iSeries Highlight 2007, das iNN - Partner Camp in Bad Nauheim
    By Kilianski in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 18-10-06, 08:46
  5. MiDViSiON Ausstellerprofil: GOERING iSeries Solutions
    By Kirsten Steer in forum Archiv NEWSboard Events
    Antworten: 0
    Letzter Beitrag: 15-06-06, 07:45

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •