[NEWSboard IBMi Forum]

Thema: CCSID

  1. #1
    Registriert seit
    May 2006
    Beiträge
    195

    CCSID

    Hallo *all,
    habe wieder ein Problem und brauche eure Hilfe.
    Ich habe ein Programm in RPGLE erstellt. Im PGM erstelle ich eine Textdatei. Es funktioniert wunderbar.
    Jetzt habe ich das Programm an einen Holländer per DDMF übertragen.
    Bei NL funktioniert das Programm nicht mehr weil:
    zum Bsp.: "" wird als "Ö" dargestellt, "^" - garnicht.
    meine und NL CCSID =65535
    meine job ccsid =273
    NL job ccsid = 37
    Frage: was tun?

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Texte auslagern und aus einer PF, PF-Src, Msgf, Dtaara ,... lesen.
    Die kann der Holländer selber pflegen
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Alle Texte in deinem Programm unterliegen keiner Codewandlung.
    Der Code entspricht der CCSID deiner Quelle, falls zur Compilezeit deine CCSID *HEX ist.

    Es ist bestimmt schon seit über 20 Jahren so, dass das Thema CCSID immer noch nicht verstanden wird.
    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
    Mar 2002
    Beiträge
    5.287
    ... Textkonstanten im Programm als Unicode deklarieren und mit %char in normale Alphafelder einstellen.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    May 2006
    Beiträge
    195
    wenn ich Quellcode mit PDM ansehe sind die sonderzeiche alle umgesetzt.
    Jetzt habe ich das Programm (per remote) geändert und alle Zeichen wieder zurückgeändert und es funktioniert.;-0

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Das was du siehst ist nicht unbedingt das, was tatsächlich passiert.
    Steht der Job auf CCSID 65535 (*HEX) wird deine Quelle in dem Code deines Terminals angezeigt, auch wenn die CCSID der SRC-PF ggf. was anderes sagt.
    Der Compiler nimmt deine Quelle und verwendet ebenso die aktuelle CCSID des Jobs, wenn diese *HEX, dann ist der Code entsprechend der CCSID der Quelle, der ja wiederum der Code deiner Sitzung ist.
    Zur Laufzeit wird dein Code natürlich nur mit einer PF der passenden CCSID funktionieren.

    @Dieter
    Das mit der Unicode-Variante funktioniert nur, wenn bei der Erfassung der Textkonstanten die CCSID der SRC-PF zum Text passt. Hast du Src-PF auf 273, Job auf *HEX, und Terminal auf 500 hast du auch in diesem Fall wieder Schrott.
    Transportierst du die Quelle auf ein anderes System musst du beachten, dass die Quelle entweder
    a) in einer SRC-PF mit gleicher CCSID der Quelle landet
    b) eine korrekte Codewandlung durchgeführt wird.
    Spätestens wenn du auf dem NL-System dann wieder Umwandelst nimmt der Compiler bei *HEX wieder die System-CCSID an und du hast wieder Schrott in der Konstanten.

    Ich sags ja immer wieder: Ein System mit QCCSID = *HEX gehört einfach verboten.
    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

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... die Unicode Const muss ich doch eh in Hex eingeben (u'abcd' , wobei abcd der Hexwert meines Unicode Zeichens ist), das ist erst mal vollkommen invariant gegen alles. Der %char schlägt erst zur Laufzeit zu und da kriege ich das, was mein Job haben will - wo ist da ein Problem?

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Nunja, ich habe schon verzweifelt gesucht, wie ich denn Textkonstanten als Unicode ablegen kann.
    Diese als Hexwerte abzulegen ist dann aber doch ein wenig kompliziert.
    Eine sinnvolle Compilerunterstützung wäre da schon schön.
    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

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... das würde aber doch wieder dieselben Probleme beim Compile verursachen. Was unter deutscher CCSID funzt, geht mit einer anderen schief - welcher Trottel ist eigentlich ehedem auf die Idee gekommen Zeichen wie # und Co. nicht konsistent zu übersetzen und sich dann noch einen weiteren Trottel zu suchen, der die dann noch in Variablennamen zulässt, oder war das wieder so eine Kantinenwette bei IBM?

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Nun ja, was die Historie so mitbringt:
    https://www.heise.de/ct/Redaktion/he...hensaetze.html
    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. CCSID für XML mit UTF-8
    By Joe in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 20-09-16, 15:05
  2. PC, CCSID und IFS
    By ILEMax in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 10-12-14, 14:24
  3. CCSID zu x ten mal
    By Robi in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 15-08-14, 16:22
  4. UTF-8, XML, IFS CCSID und SAX
    By Robi in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 25-04-14, 14:16
  5. CHG CCSID ?
    By Liebhoff in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 04-09-02, 09:27

Berechtigungen

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