[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2006
    Beiträge
    98

    Question Deepl REST API Übersetzung Zeichendarstellung

    Hallo Forum,

    Ich möchte gerne die Deepl REST-API benutzen um Texte zu übersetzten.

    Aktuell benutze ich dafür die HTTPGETCLOB Funktion in DB2 SQL. Das Abschicken der Anfrage so wie das verarbeiteten der zurück kommenden Json-Daten funktioniert im englischen bspw. problemlos.
    Mein Problem entsteht bei Sprachen die folgende Sonderzeichen benutzen: '^, `, ´, usw.'.
    Dort bekomme ich am ende Keine lesbaren Symbole mehr zurück.
    Die API selbst unterstützt die "richtige" Rückgabe der Texte, dies habe ich mit einer manuellen request über das Web getestet.

    Ich habe bereits alle für mich Sinnig erscheinenden Datentypen sowohl im SQL als auch in RPG ausprobiert, habe aber dennoch immer das gleiche Ergebnis erhalten.

    Vielleicht kennt jemand von euch dieses Problem und hat eine Lösung dafür parat oder einen alternativen Lösungsansatz zur Umsetzung und Lösung.

    Viele Grüße

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    In der Regel werden dei Daten in UTF8 übertragen.
    Daher musst du diese ggf. von CCSID 1208 nach 1200 (UCS) oder anderes casten.
    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
    Aug 2001
    Beiträge
    2.873
    Eigentlich werden die Daten in UTF-8 ausgetauscht und müssten somit richtig ankommen (es sei denn DEEPL würde ein anderes Format schicken, das dann als UTF-8 interpretiert wird).

    Hast Du eigentlich schon mal die neuen APIs in QSYS2 (z.B. HTTP_GET) probiert?
    Da kannst Du auch die Header besser setzen.
    Vielleicht funktionierts damit.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    https://www.ibm.com/docs/en/i/7.3?to...alar-functions

    Die Daten werden im CLOB als CSID 1208 geliefert und müssen dann z.B. in ein DBCLOB gecasted werden ,RPG-Type C CCSID(1200).
    Wenn du die Daten native verarbeitest, erhältst du bei fast allen Nicht-ASCII-Zeichen eben Schrottdaten.
    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

  5. #5
    Registriert seit
    Mar 2006
    Beiträge
    98
    Hier einmal der Ausschnitt aus meinem Code / SQL:

    SELECT CAST(text AS DBCLOB(1024) CCSID 1200) AS text FROM
    JSON_TABLE(SYSTOOLS.HTTPGETCLOB('https://api-free.deepl.com/v2/trans
    late?text=Meldepunkt%20Eingang&source_lang=DE&target_lang=SK&auth_ke
    y=<>',''), 'lax
    $.translations[*]' COLUMNS(sprache VARCHAR(10) PATH 'lax
    $.detected_source_language',text DBCLOB(1024) PATH 'lax $.text'))

    Ich bekomme leider immer noch kein lesbares Ergebnis.

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Welche CCSID hat dein Job? Wen 65535 setze mal 1141.
    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
    Nov 2020
    Beiträge
    331
    Wechsle lieber auf POST statt GET.
    Wundert mich dass man da überhaupt via GET was übertragen kann.
    Bei GET gibt's einige Einschränkungen und ist gerade für sowas nicht geeignet.
    Mit POST übergibst du die Daten via JSON im "HTTP Body".
    Und ja, ich würde auch die SQL Functions aus der QSYS2 nehmen.

Similar Threads

  1. REST Webservices / Verwendung von SYSTOOLS
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 25
    Letzter Beitrag: 14-02-18, 11:11
  2. Webservice REST, mehrere Datensätze zurückgeben
    By Peet in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 06-09-16, 10:26
  3. Zeichendarstellung ASCII/EBCDIC
    By Endymion in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 09-10-07, 10:55
  4. Antworten: 0
    Letzter Beitrag: 12-12-06, 09:46
  5. Antworten: 8
    Letzter Beitrag: 21-02-05, 09:45

Tags for this Thread

Berechtigungen

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