HTTP Post per CURL verändert Umlaute

Begonnen von stone78, 09 März 2019, 14:32:11

Vorheriges Thema - Nächstes Thema

stone78

Hallo zusammen,

ich komme hier bei einem CURL-Aufruf nicht weiter.

Ich rufe innerhalb der 99_myutils.pm folgenden Befehl auf:

my $cmd = 'curl -X POST --header "Content-Type: text/plain" --header "Accept: application/json" -d "' . $timestamp1 . '" "http://192.168.178.6:8080/rest/items/Timestamp1"';
Die Übergabe soll an die REST-Schnittstelle von Openhab gehen. Dies funktioniert auch problemlos, allerdings werden Wörter mit Umlauten falsch interpretiert.

$timestamp ist dabei ein Anrufzeitpunkt aus dem Callmonitor. Wenn ich $timestamp ins Log schreibe, steht dort auch z.B. Sa, 09 Mär 2019.
Openhab zeigt aber im Log und im Item 'Sa, 09 Mär 2019 14:23:36' an. Was muss ich machen, damit die Übergabe funktioniert? Oder ist das eher auf der Seite von Openhab?

Hinweis: Wenn ich die Übergabe ohne Variable mache, also -d "März" schreibe, dann wird der Umlaut auch korrekt angezeigt.

Vielen Dank für eure Hilfe!

Sven






CoolTux

Ich tippe auf utf8 encoding. Jage den Inhalt Deiner Variablen vorher Mal durch den utf8 encoder. Perl encode utf8 zum suchen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

andreas13

Unabhängig von dem Codierungsproblem schau dir mal die httpUtils an. Ich hatte auch erst curl im Modul vitoconnect verwendet. Der Umstieg ist einfach und die Möglichkeiten vielfältiger z.B. Non-Blocking.

Andreas


Gesendet von iPad mit Tapatalk Pro
Maintainer des Vitoconnect Moduls
In Betrieb: FritzBox 7590, Homematic
piko Wechelrichter (HTTPMOD). Sonos ....
noch: IT