JsonDecode() // JsonEncode

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
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

JsonDecode() // JsonEncode

Beitrag von ramses »

Hi,

gibt es eine Möglichkeit den beiden Funktionen JsonDecode() // JsonEncode mitzuteilen Sie sollen auch die Ein- Ausgabe in UTF8 ausführen?
Und den Eingestellen Charset NICHT anwenden. MIt Datenbanken im UTF8 Zeichensatz gibts sonst Probleme.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Lewi
1000 working lines a day
1000 working lines a day
Beiträge: 830
Registriert: Di, 07. Feb 2006 14:10
Wohnort: Hamburg
Danksagung erhalten: 2 Mal

Re: JsonDecode() // JsonEncode

Beitrag von Lewi »

Im Frontend sollte man immer mit UTF-8 arbeitet, weil sonst JS-Laufzeitfehler kaum nachvollzogen werden können.
Im XBase++ Backend wirst Du um das Schreiben einer Konvertierungroutine für Datenbankdaten von ASCII nach UTF-8 (und zurück) kaum rum kommen können.
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: JsonDecode() // JsonEncode

Beitrag von ramses »

Es geht nicht mal um die Datenbank die läuft unter UTF8. Es geht nur um die Json de- und entcode Funktion. Die beiden in Xbase führen immer auch einen Wandel ANSI 《--》UTF8 durch was dann bei Zeichen die schon UTF8 sind zu Mist und Fehlern führt.

Da ist es wohl wie du schreibst nötig selbst Hand anzulegen.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Lewi
1000 working lines a day
1000 working lines a day
Beiträge: 830
Registriert: Di, 07. Feb 2006 14:10
Wohnort: Hamburg
Danksagung erhalten: 2 Mal

Re: JsonDecode() // JsonEncode

Beitrag von Lewi »

Wäre dann nicht die Funktion UTF82Char(<utf8String>) die Lösung?
Und die gegenteilige Funktion: Char2UTF8( <cString>] )
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: JsonDecode() // JsonEncode

Beitrag von ramses »

Lewi hat geschrieben: Di, 28. Jun 2022 21:09 Wäre dann nicht die Funktion UTF82Char(<utf8String>) die Lösung?
Und die gegenteilige Funktion: Char2UTF8( <cString>] )
Nein eben nicht. Der String soll UTF8 bleiben er darf nicht umgewandelt werden den in ANSI oder OEM gibt es die enthaltenen Zeichen nicht das dann bedeutet: Datenverlust.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Lewi
1000 working lines a day
1000 working lines a day
Beiträge: 830
Registriert: Di, 07. Feb 2006 14:10
Wohnort: Hamburg
Danksagung erhalten: 2 Mal

Re: JsonDecode() // JsonEncode

Beitrag von Lewi »

Verstehe ich nicht! Laut xBase++ Doku wird ein String nach UTF8-codiert und in ein JSON-Objekt transformiert:

The JsonEncode() function converts an Xbase++ character string into JavaScript Object Notation (JSON) text conforming to RFC 7159, Section 7. The returned string is UTF-8 encoded. However, certain characters such as the quotation mark are escaped in the JSON string. These escaped characters appear in the notation "\uXXXX". XXXX is a four-digit hexadecimal number which identifies the corresponding Unicode code point.
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: JsonDecode() // JsonEncode

Beitrag von ramses »

Lewi hat geschrieben: Do, 30. Jun 2022 16:01 The JsonEncode() function converts an Xbase++ character string
Genau das soll er nicht!
Ein Xbase String ist üblicherweise ANSI oder OEM Codiert dies wandeln die Funktionen in UTF8 UND Json um.
Soweit so gut.

Meine Strings im Xbase Programm sind aber schon UTF8 codiert. Die dürfen nicht nochmals gewandelt werden sonst kommt Müll heraus.
Genau das ist ja jetzt mein Problem!
Valar Morghulis

Gruss Carlo
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: JsonDecode() // JsonEncode

Beitrag von Jan »

Carlo,

mal Alaska fragen?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: JsonDecode() // JsonEncode

Beitrag von ramses »

Hallo Jan

gute Idee. Da habe ich jetzt mal ein Frage-Mail hingesendet.
Valar Morghulis

Gruss Carlo
Antworten