Autor Thema: SVG Plots mit Umlauten versenden (Unicode Problem)  (Gelesen 988 mal)

Offline Adimarantis

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 828
SVG Plots mit Umlauten versenden (Unicode Problem)
« 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
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 26059
Antw:SVG Plots mit Umlauten versenden (Unicode Problem)
« Antwort #1 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.