[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2007
    Beiträge
    904

    XML als UTF8 BOM

    Hi Forum,

    nur aus Interesse/Neugier.
    Ich habe eine XML Datei erhalten, welche ich nicht einlesen konnte. Rückweisung mit RNX0351 und Ursachencode 302, keine externe XML Datei.

    Im Notepad++ hab ich dann festgestellt, dass die UTF8 noch einen BOM Zusatz hat. Nach konvertieren in ein normales UTF8 lief das RPG Programm dann auch durch.

    Frage jetzt, kennt ihr das auch und wie handelt ihr das? Soll ich mit dem XML Datei-Lieferanten schimpfen?

    Danke für die Auskunft.
    kf

  2. #2
    Registriert seit
    Nov 2020
    Beiträge
    315
    Wie hast du diese denn eingelesen? Via SQL oder RPG?
    Blöde Frage, aber hatte die ursprüngliche XML Datei auch die CCSID 1208?

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    BOM sind zwei Byte vorneweg, die nur für Textdateien eigentlich wichtig sind. Die eigentliche Kodierung einer XML steht im Header.
    Egal ob RPGLE oder SQL, die 2 Bytes müssen leider entfernt werden.

    Aktuell finde ich keine Lösung für IBM i. Selbst auf den IBM-Seiten wird vorgeschlagen, die Datei per Notepad++ zu konvertieren.
    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

  4. #4
    Registriert seit
    Jan 2007
    Beiträge
    904
    Andreas,
    wenn ich sie mit wrklnk anschaue, habe ich eine 1252 CCSID drin. Eingelesen hab ich sie mit RPG.
    (SQL ist mir für das zu kompliziert, auch wenn ich u.U. mir vllt. ein Problem weniger einhandle)

    Baldur,
    bleibt vermutlich nur "Schimpfis", wie wir in der Schweiz sagen, übrig. Das Mail hab ich schon vorbereitet.
    kf

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Die CCSID kommt vom Netserver bei der Kopie via Netzfreigabe.
    Wenn im Header der XML dann UTF8 als Encoding steht, musst du auch CCSID 1208 verwenden. Sonst gibts Salat mit den Umlauten und anderen Sonderzeichen. Und den BOM musst du auch noch wegpacken.

    Dies ginge auch per RPGLE, in dem du (max. 8MB) mittel CLOB_FILE die Datei als 1208 native einliest und nach Prüfung der 2 Zeichen am Anfang, z.B. X'FFFE' oder x'FEFF', dann die Daten um 2 Bytes verschiebst bevor du den XML-INTO brauchst.
    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

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Hinweis von einem noch nicht freigeschalteten User:

    "Peder Udesen

    Wenn man CCSID 1208 verwendet, dann wird der BOM akzeptiert und ignoriert."

    Ich finde dies gut zu wissen.
    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

Similar Threads

  1. Euro Zeichen aus IFS Datei UTF8 ersetzen
    By chrisssiie in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 15-09-19, 13:51
  2. FTP Unicode nach UTF8 Windows
    By camouflage in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 25-11-16, 16:41
  3. Ausgabe UTF8
    By Dirschl in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 23-10-02, 12:52

Berechtigungen

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