-
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
-
In der Regel werden dei Daten in UTF8 übertragen.
Daher musst du diese ggf. von CCSID 1208 nach 1200 (UCS) oder anderes casten.
-
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.
-
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.
-
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.
-
Welche CCSID hat dein Job? Wen 65535 setze mal 1141.
-
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
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 25
Letzter Beitrag: 14-02-18, 11:11
-
By Peet in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 06-09-16, 10:26
-
By Endymion in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 09-10-07, 10:55
-
By Kirsten Steer in forum NEWSboard Server Job
Antworten: 0
Letzter Beitrag: 12-12-06, 09:46
-
By borwegen in forum NEWSboard Programmierung
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks