SVG Plots mit Umlauten versenden (Unicode Problem)

Begonnen von Adimarantis, 15 Oktober 2022, 09:44:51

Vorheriges Thema - Nächstes Thema

Adimarantis

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
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

rudolfkoenig

Danke fuer den Hinweis, habs eingecheckt.
Statt decode_utf8($svgdata) habe ich Encode::decode("UTF-8", $svgdata) geschrieben, weil alle meine Module damit arbeiten.