[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2019
    Beiträge
    40

    Fehlerhafte Sonderzeichenumsetzung

    Hallo.

    Wir haben einen Datenimport der Daten aus einer XML Datei einliest.

    Der Import Job läuft mittels CHGJOB CCSID(1153)

    Die Datei in die die Daten geschrieben werden hat für das Feld CCSID(1208)

    Nun haben wir folgenden Datenstring: "?íáŠ????óž ??ú?ýé??ä??ü?"

    EDIT: Interessant. Selbst das Forum scheint diese Zeichen nicht umsetzen zu können. Beim kopieren der Zeichen in den Text hat es noch normal ausgesehen. NAch dem erstellen des Threads nicht mehr. So sieht es eigentlich aus:

    Name:  Screenshot 2024-07-23 133148.jpg
Views: 20
Size:  4,9 KB

    Die drei rot markierten Zeichen werden hierbei nicht korrekt erkannt und falsch umgesetzt. Mir wurde aber gesagt es sollen angeblich alles UTF-8 kompatible Zeichen sein.

    Das erste ist wohl zum Beispiel "LATIN SMALL LETTER G WITH BREVE"

    Ich weiss jetzt leider nicht warum diese drei nicht umgesetzt werden, und woran es liegen kann.

    Weiss hier zufällig jemand was ich noch versuchen kann?

    Gruß
    Sebastian

  2. #2
    Registriert seit
    Jan 2001
    Beiträge
    838
    Hallo

    wenn die XML Datei im IFS liegt, welche CCSID hat denn die XML Datei ?

    Sind in der XML Datei UTF-8 Daten, dann sollte die mit CCSID 1208 definiert sein.

    Wie werden die Daten eingelesen ? SQL ?
    Gruß
    Michael

  3. #3
    Registriert seit
    Jan 2019
    Beiträge
    40
    Hallo Michael,
    danke für deine Antwort.
    Die Datei hat im IFS eine CCSID 1252. Allerdings habe ich die Datei auch vorher selbst noch bearbeitet und gespeichert. Welche CCSID die Datei hat wenn sie übertragen wird weiss ich grad nicht. Ich habe die Datei aber mal in 1208 geändert. Es hat leider nicht gebracht. Diese 3 Zeichen sind immer noch falsch.

    Eingelesen wird die Datei über cpyfrmimpf. Sowohl FROMCCSID als auch TOCCSID ist mit 1208 angegeben. Die Datei in die die Daten geschrieben werden (qtemp/XX01234.PF) hat nur ein Feld:

    A DATA 512A CCSID(1208)

    Gruß
    Sebastian

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.378
    Fakt ist, eine Job-CCSID ist nie unicodeconform.
    D.h., beim Lesen in RPG in eine normale Char-Variable werden Zeichen in Singlebyte (die JOBCCSID) gewandelt, unbekannte Zeichen bekommen dann i.d.R. ein "?".

    Die Frage, wie vom Vorgänger, ist: Wie werden die Daten verarbeitet?
    Ist die Zielvariable vom Typ C bzw. varucs2 (CCSID 1200)?
    Dann sollte es auch keine Probleme geben, wenn die Daten dann in eine Tabelle mit 1200 (NVARCHAR) ausgegeben werden.

    Auch ist es wichtig, wie die CCSID der IFS-Datei getagt ist. Per Default via Netserver wird das 1252 sein, via FTP den FTP-Attributen entsprechend.
    Ggf. die Datei mit CHGATR auf CCSIS 1208 anpassen. Keine Angst, eine Umwandlung wird da nicht gemacht.
    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. Antworten: 3
    Letzter Beitrag: 13-02-14, 14:18
  2. fehlerhafte Ressourcenamen bei Tapes
    By cami in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 21-04-08, 10:40
  3. Fehlerhafte Anweisung in SQLRPGLE identifizieren
    By USDAVIS in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 20-11-07, 11:52
  4. Antworten: 4
    Letzter Beitrag: 11-08-06, 11:26

Berechtigungen

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