FHEM Forum

FHEM => Frontends => SVG / Plots / logProxy => Thema gestartet von: Adimarantis am 15 Oktober 2022, 09:44:51

Titel: SVG Plots mit Umlauten versenden (Unicode Problem)
Beitrag von: Adimarantis am 15 Oktober 2022, 09:44:51
Hallo Rudi,

Einer meiner Signalbot Anwender versendet SVG Plots via plotAsPng bei denen Umlaute in der Legende sind.
Wenn encoding=unicode gesetzt ist, funktioniert das einwandfrei, aber bei bytestream kommen da die üblichen Sonderzeichen an.
Ich habe mir das angeschaut, und wenn ich in 98_SVG folgenden Patch mache, klappt es:
....
$svgdata =~ s/\.SVGplot\./\./g if(AttrVal($svgName, "plotAsPngFix", 0));
$svgdata = decode_utf8($svgdata) if !($unicodeEncoding);
  eval {
    require Image::LibRSVG;
....

(Also die Zeile mit decode_utf8 einfüge)

Könntest du das so oder ähnlich übernehmen.
Der Anwender hat versucht auf encoding=unicode umzustellen, aber anscheinend verwendet er Module die das gar nicht verdauen. Das ist wohl aktuell keine Option.

Danke,
Jörg
Titel: Antw:SVG Plots mit Umlauten versenden (Unicode Problem)
Beitrag von: rudolfkoenig am 15 Oktober 2022, 12:46:14
Danke fuer den Hinweis, habs eingecheckt.
Statt decode_utf8($svgdata) habe ich Encode::decode("UTF-8", $svgdata) geschrieben, weil alle meine Module damit arbeiten.