Kann mir jemand sagen, was für eine codierung \x{e2} ist? Das ist doch kein richtiges utf8?!
Hintergrund ist der, dass das 86_Robonect Modul als Fehlermeldung z.b. "M�heinheit ist blockiert" zurück liefert. Laut Dumper ist es intern "M\x{e2}heinheit ist blockiert". Das scheint an der Robonect_callback() zu liegen, wo ein encode_utf8 vor dem decode_json erfolgt, was ja grundsätzlich ok ist, weil sich utf8 mit json ja nicht sonderlich gut verträgt. Allerdings wird dann später beim Schreiben der Errormessage ignoriert, dass zuvor ein encode_utf8 gemacht wurde.
readingsSingleUpdate($hash, "fehler_aktuell", $answer->{error}->{error_message}, 1);
Allerdings bringt funktioniert ein decode_utf8 auch nicht. Intern scheint es als Binär definiert zu sein. Jemand eine Idee?
Möglichst auf umwandeln verzichten? Unicode first help.... (Und was ich per pm schon mal angemerkt hatte, oder?)
Zitat von: Beta-User am 26 August 2022, 21:14:32
Möglichst auf umwandeln verzichten? Unicode first help.... (Und was ich per pm schon mal angemerkt hatte, oder?)
ich hab das 86_Robonect Modul nicht geschrieben. Das hätte ich da auch anders gemacht, aber ist ja nun mal so. Trotzdem bleibt die Frage was das für eine Codierung ist? Hab mir da jetzt ein Userreading angelegt und schreib da das reading "fehler_aktuell" rein. Aber die Codierung hat nicht hin, wenn ich ein decode_utf8 drauf mache... :-\ muss also falsch codiert zurückkommen.
Na ja, der Maintainer wird sich vielleicht über einen patch freuen, falls JSON->new->decode() ganz ohne irgendwelche Klimmzüge vorneweg bessere Ergebnisse liefert...
decode_json() ist halt oft in copy-paste-Modulen zu finden...
hatte ich testweise schon probiert. ist das gleiche resultat. das problem ist aber ja, was für eine codierung das ist. sofern ich das richtig zu einem "ä" decodiert bekomm, kann ich auch einen patch machen. ich bin grad nur ratlos. hab sogar mal neben UTF8 noch utf-8 und utf8 probiert. richtig decoden tut er es mit keinem. deswegen ja die frage, was für eine codierung das ist ::)
Sicherheitshalber: Die Klimmzüge hinterher hattest du auch deaktiviert?
In dem "first aid"-Thread gab's übrigens auch mind. einen Schnippsel, mit dem man versuchen könnte, die Kodierung (dynamisch) zu erraten.
erraten ist so eine Sache :P
was meinst du aber mit Klimmzüge? Da steh ich grad aufm Schlauch
Stichwort ist "umlaut" (der Hash): Da wird nachträglich (!), also nach decode_json() noch irgendwas am Ergebnis rumgebastelt, um es in "HTML-Schreibweise" zu konvertieren... (Btw.: dass man einen kompletten Hash auf die Weise "verregexen" kann, war mir bis dahin noch nie begegnet).
Behaupte immer noch: Weg mit den ganzen Konvertierungen und "gut ist"...