Json und Umlaute

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Json und Umlaute

Beitrag von Rudolf »

Hallo,
habe mit OT4XB ein Interface für den Pushbullet Messager gemacht, kann Links und Messages als Json senden. Wie muss ich den String formatieren dass auch Umlaute richtig ankommen ? Habe schon mit UTF-8 versucht, aber ohne Erfolg. Ich habe SET CHARSET TO ANSI , ich denke wenn ich von ANSI nach UTF-8 konvertiere müsste es doch passen.
Grüße
Rudolf
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Json und Umlaute

Beitrag von ramses »

@Rudolf

welche Funktionen verwendest du um das JSON "Object" anzulegen?

Cu Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Json und Umlaute

Beitrag von Rudolf »

Hallo Carlo,
habe keine spezielle Funktion dafür, nur um für Variablen auszulesen und spezielle Zeichen konvertieren. Pablo hat ein paar in json_container auf seiner Seite bei den Beispielen. Den String zusammenstellen ist nicht kompliziert, auslesen von Variablen schon eher.

Grüße
Rudolf
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Json und Umlaute

Beitrag von ramses »

Hallo Rudolf

ach so, dann musst du herausfinden auf welche "Norm" der JSON-Parser auf der Gegenseite eingestellt ist. Damit Umlaute rauskommen muss dieser auf "JSON_UNESCAPED_UNICODE" damit dieser nach RFC4627 funktioniert.
( http://www.ietf.org/rfc/rfc4627.txt ) sonst werden Strings als 7-Bit Charakter ausgegeben. (Umlaute unmöglich) Soweit meine Erfahrung mit Steuerungen ....
Hast du schon abgeklährt ob die Gegenseite umlaute überhaput aktzeptiert?

Cu Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Json und Umlaute

Beitrag von Rudolf »

Hallo Carlo,
danke für die Infos, ich denke wenn ich die Umlaute in Unicode codiere, muss es eigentlich passen, ist schließlich die Standard Codierung für JSON. Könnte noch sein dass die Sonderzeichen mit führendem \u dargestellt werden müssen, vielleicht \u und dann den Character in Unicode:

Any character may be escaped. If the character is in the Basic
Multilingual Plane (U+0000 through U+FFFF), then it may be
represented as a six-character sequence: a reverse solidus, followed
by the lowercase letter u, followed by four hexadecimal digits that
encode the character's code point.


Grüße
Rudolf
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Json und Umlaute

Beitrag von ramses »

@Rudolf
ist schließlich die Standard Codierung für JSON
Da hast du schon recht, der aktuelle. Nur der frühere liess nur 7-Bit Charakter zu. Der ist leider in vielen Tools noch immer voreingestellt, die damit erstellten Programme lassen demzufolge auch nur 7-Bit Chars zu. Ich habe dann aufgegeben und die Umlaute ae usw. geschrieben. Was der Empfänger nicht will konnte ich als Sender nicht erzwingen.....

Cu Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Json und Umlaute

Beitrag von Rudolf »

Hallo Carlo,
konvertiere momentan auch auf z.B. ue. Der Hersteller hat mir auch nicht helfen können, er sagt nur die Codierung ist falsch, aber er kann nicht sagen wieso :-(
Grüße
Rudolf
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Json und Umlaute

Beitrag von ramses »

@Rudolf

Da wo's funktioniert konvertiere ich die Umlaute so:
  • Test Umlaute äöüÄÖÜ --> "Test Umlaute \u00E4\u00F6\u00FC\u00C4\u00D6\u00DC"
Cu Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Json und Umlaute

Beitrag von Rudolf »

Hallo Carlo,
danke, das werde ich mal versuchen.
Grüße
Rudolf
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Json und Umlaute

Beitrag von Rudolf »

Hallo Carlo,
habs geschafft, zumindest bei Pushbullet, ich habe beim content type das charset noch dazu angegeben, dann funktionieren UTF-8 konvetierte Umlaute:

oHttp := TServerXMLHTTPRequest():New()
xRet := oHttp:Open( "POST" , cUrl , .F.)
xRet := oHttp:lIgnoreCertAll := .T.
xRet := oHttp:SetRequestHeader( "Content-Type", "application/json; charset=UTF-8" )

Grüße
Rudolf
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Json und Umlaute

Beitrag von brandelh »

Hast du zu dem Befehl mehr Dokumentation, auf Pablos site finde ich dazu nix.

Code: Alles auswählen

oHttp := TServerXMLHTTPRequest():New()
xRet := oHttp:Open( "POST" , cUrl , .F.)
xRet := oHttp:lIgnoreCertAll := .T.
xRet := oHttp:SetRequestHeader( "Content-Type", "application/json; charset=UTF-8" )
ist das SOAP oder ein anderer Dienst ?
Gruß
Hubert
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Json und Umlaute

Beitrag von Rudolf »

Hallo Hubert,
ist auf Pablos Seite unter den Beispielen, im Internet gibt es viele Infos über XMLHTTPRequest. Ist nicht SOAP, das mache ich mit XB2NET, sondern HTTP Kommunikation. Du kannst auch viele CURL Dinge damit direkt in Xbase++ lösen. Leider aber nicht gut dokumentiert, weiss z.B. noch immer nicht wie ich mehrere Variablen setze ein File hochlade. Ich mache damit z.B. das REST Interface für die Pushbullet API. Chilkat wäre besser und perfekt dokumentiert (ActiveX), aber kostet.
Wenn Du es nicht findest, kann ich es Dir schicken. Von Chilkat gibt es eine Demo, habe es schon zum laufen gebracht, funktioniert einwandfrei, hier kann ich auch bei Bedarf mit Code helfen.
Grüße
Rudolf
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Json und Umlaute

Beitrag von brandelh »

https://de.wikipedia.org/wiki/XMLHttpRequest

AJAX ...

Ja die Dokumentation. Wenn ich das hier lese

http://www.alaska-software.com/products ... cxp#F14CTR

ist das alles ein Klacks, nur wenn ich nach Dokus suche ... :oops:
Gruß
Hubert
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Json und Umlaute

Beitrag von Rudolf »

Hallo,
und Pablo hat gar keine Doku zu seiner Klasse, nur Beispiele. Darum würde ich für komplexere Anwendungen Chilkat verwenden
Grüße
Rudolf
Antworten