[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Apr 2020
    Beiträge
    8
    Hallo Rainer

    Ja, das war's, danke gleich mal. Hab mit CLOB anstelle von CLOB_Data das Eincoding gemacht. Steht dann auch der richtig codierte Inhalt in der RPG Clob Variablen. Aber eine Frage hab ich noch, wenn ich nun die CLOB Spalte (utv-8) in der Tabelle mittels SQL mit dieser Hostvariablen aktualisiere steht da Schrott drinnen. Muss ich da noch irgendwo konvertieren?

    Soll BASE64: UEsDBBQAAAAIACEIIQLtOXirrAE
    Ist BASE64:
    䅢Ă˜AAɁÅɉؓ����AŒŁA偁A觕

    lg, Ingo


  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.252
    Wie schaust du dir den Inhalt an?
    Base64 beibt ASCII-Code!
    Im Debugger kannst du das nur Hex kontrollieren.
    Wenn du den Base64-Wert per SQL in eine UTF-8 -Spalte schreibst kannst du ihn per SQL in 273 wieder ansehen.

    Du kannst den Inhalt auch temporär in eine Char/UCS2-Variable schieben. Die Umwandlung erfolgt dann auch automatisch.
    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
    Registriert seit
    Apr 2020
    Beiträge
    8
    Im Debug sehe ich den richtigen Inhalt

    Code:
     EVAL locClob64                                                          LOCCLOB64_LEN OF LOCCLOB64 = 7206264                                   
     LOCCLOB64_DATA OF LOCCLOB64 =                                          
               ....5...10...15...20...25...30...35...40...45...50...55...60 
          1   'UEsDBBQAAAAIACEIIQLtOXirrAEAAEkEAAAVAAAAYXNzZXRzL0VNREtDb25m'
         61   'aWcueG1sjVNLb5tAEL5Xyn+Ycq3AYKdNZGFHkZ1WVUVVyaSHXqzJMuBVYNda'
        121   '1k7Jr+/gxyYo0FbitDPfY74Z4pvfVQl7MrXUauZFQegBKaEzqYqZd59+9q+9'
        181   'm3n83vfTjayBP1SAO6uhIEUGLWWQabGrSNkAFhtUBdXAZdu2nytQYQMCdzWB'
    Variablendefinition: dcl-s LocClob64 sqltype(CLOB:16773100) CCSID(*UTF8);

    Jobdefinitionsattribute:
    Code:
    Sprachen-ID . . . . . . . . . . . . . . . . . . . :   DEU     Landes- oder Regions-ID . . . . . . . . . . . . . :   AT      
    ID des codierten Zeichensatzes (CCSID)  . . . . . :   65535   
    Standard-ID des codierten Zeichensatzes . . . . . :   273     
    Steuerung für Zeichen-ID  . . . . . . . . . . . . :   *DEVD
    Die Abfrage und das Ergebnis der Daten über Webservice IWS sieht dann so aus:

    Click image for larger version. 

Name:	2020-04-27 13_26_04-Clipboard.jpg 
Views:	17 
Size:	30,9 KB 
ID:	566

    Click image for larger version. 

Name:	2020-04-27 13_22_53-Clipboard.jpg 
Views:	12 
Size:	44,6 KB 
ID:	565


    lg, Ingo

  4. #4
    Registriert seit
    Aug 2014
    Beiträge
    179
    Hallo Ingo,

    soll der Webservice ungefähr so aussehen?

    http://www.myhofi.com/myapp/webbase64.pgm?data=test

    in diesem Fall wandelt er den String "test" richtig in "dGVzdA==" um

  5. #5
    Registriert seit
    Apr 2020
    Beiträge
    8
    Hallo Rainer

    Ja, genau so sollte er aussehen, nur bei mir kommt immer folgendes raus:

    { "DATEI" : "䅢Ă˜AAɁÅɉؓ����AŒŁA偁A觕����ՙţĂ��惤??����œ??N胘��??ƈ�� 夥威∧����Մ��љNa????��??鴗??��礁????��蘩??...
    lg, Ingo

  6. #6
    Registriert seit
    Aug 2014
    Beiträge
    179
    Hallo Ingo,

    schick mir doch einfach einen Beispieldatensatz und den Request dazu, dann kann ich es auf die Schnelle bauen

    --
    Rainer Ross IT-Beratung
    Ausgezeichnet mit dem IBM-Innovationspreis
    Rainer_Ross@web.de
    Sitz: Bürgermeister-Hollweck-Str. 6, 85599 Parsdorf
    Tel: 089/413 252 94

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.252
    Wenn du Nicht-Basi64-Daten sendest, kommen die denn korrekt an?
    Ich nehme mal an, dass in der Kommunikation irgendwo noch eine Umwandlung in eine ander CCSID/Codepage stattfinden.
    Stelle die Daten mal Hex zur Ansicht.

    U = x'E4' = für UTF8 das Überlaufbit gesetzt so dass noch das "E" dazukommt.

    Ich vermute mal folgendes:
    Die Ergebnisvariable wird als CHAR-Variable in 273 umgesetzt und für den Webempfänger als Binärdaten gehandelt.
    Da dein Job nun mal wieder auf CCSID 65535 steht, dürfte dies wieder mal das Problem sein.
    ID des codierten Zeichensatzes (CCSID) . . . . . : 65535

    Setze mal eine vernünftige CCSID, dann gibts für sowas weniger Probleme.
    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. BLOB mit BASE64 encoden für REST Service im IBM i IWS
    By ismiavoiwuascht in forum NEWSboard Programmierung
    Antworten: 0
    Letzter Beitrag: 25-04-20, 10:18
  2. BLOB Feld
    By mk in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 19-06-19, 07:26
  3. REST Web-Service unter V6R1
    By Flappes in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 22-05-17, 11:22
  4. Clob to Blob
    By dschroeder in forum IBM i Hauptforum
    Antworten: 14
    Letzter Beitrag: 31-08-16, 15:32
  5. Wie kann man eine url encoden/decoden?
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 01-10-14, 10:52

Tags for this Thread

Berechtigungen

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