FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: stone78 am 09 März 2019, 14:32:11

Titel: HTTP Post per CURL verändert Umlaute
Beitrag von: stone78 am 09 März 2019, 14:32:11
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





Titel: Antw:HTTP Post per CURL verändert Umlaute
Beitrag von: CoolTux am 09 März 2019, 14:43:49
Ich tippe auf utf8 encoding. Jage den Inhalt Deiner Variablen vorher Mal durch den utf8 encoder. Perl encode utf8 zum suchen.
Titel: Antw:HTTP Post per CURL verändert Umlaute
Beitrag von: andreas13 am 10 März 2019, 13:40:20
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