Anmelden

View Full Version : HTTPAPI Konveriten von URL-Parameter Bezeichnung in UCS2



nicowickersheim
10-03-21, 14:37
Ich habe folgendes Problem:

Ich möchte eine URL mit der HTTPAPI aufrufen. Für die URL-Parameter verwende ich http_url_encoder_addvar(). Unter anderem möchte ich hierbei auch UCS2-Felder mitgeben.

Beispiel:
dcl-s NAME ucs2(50);



http_url_encoder_addvar( enc_usti
: 'Name'
: %addr(NAME)
: %len(%trimr(NAME)) * 2 );



So kommt in der URL jedoch nur Schrott raus, da die CSSIDs nicht passen.
Damit der Wert aus der Variable richtig rauskommt rufe ich vor http_url_encoder_addvar()

http_setccsids(1208:13488);

auf.

Der Wert aus NAME wird jetzt richtig encoded, jedoch auch der String 'Name', also die Bezeichnung des Parameters.

Gibt es eine Möglichkeit, der Prozedur diesen 'Namen' als UCS2 mitzugeben?
Im Prototyp wird der Parameter peVariable mit option(*string) angegeben.

Vielen Dank schonmal!

Fuerchau
10-03-21, 14:45
Eine Url wird nie in Unicode oder UTF8 ausgegeben sondern als ASCII-Zeichenfolge (1252).
Dabei werden Sonderzeichen in Hex-Darstellung übersetzt, z.B. %20 = Space.
UTF8 wird dann ebenso übersetzt und in %xx%yy übersetzt.

https://de.wikipedia.org/wiki/URL-Encoding

Dies sollte dann die Funktion leisten.