Ankündigung

Einklappen
Keine Ankündigung bisher.

Textkodierung EibPC Webserver

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Textkodierung EibPC Webserver

    Bei Nutzung der Wunderground XML Wetterdaten treten immer wieder Probleme mit der Darstellung von Umlauten im Webserver auf.

    Wunderground kodiert die XML Wetterdaten offensichtlich in UTF-8, also z.B. ein "ü" als "c3 bc".

    In welchem Format kodiert der EibPC Zeichen?

    Viele Grüße

    Michael

    #2
    Siehe "charset":
    Code:
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    Firma: Enertex Bayern GmbH, Ebermannstädter Straße 8, 91301 Forchheim
    Amazon: KNXnet/IP Router
    , KNXnet/IP Interface

    Kommentar


      #3
      Hoi

      Die Antwort ist kurz.
      Kann ich im EibPC den Charset verändern?
      Ist Deine Zeile das Charset vom EibPC?
      Oder ist das der Charset von Wonderground?
      Grüsse Bodo
      Fragen gehören ins Forum, und nicht in mein Postfach;
      EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

      Kommentar


        #4
        Zitat von Bodo Beitrag anzeigen
        Kann ich im EibPC den Charset verändern?
        Nein, das umzusetzen würde umfangreiche Änderungen nötig machen.
        Zitat von Bodo Beitrag anzeigen
        Ist Deine Zeile das Charset vom EibPC?
        Ja (siehe Webseiten-Quelltext).

        OK, die Antwort war auch wieder kurz
        Firma: Enertex Bayern GmbH, Ebermannstädter Straße 8, 91301 Forchheim
        Amazon: KNXnet/IP Router
        , KNXnet/IP Interface

        Kommentar


          #5
          Zitat von salixer Beitrag anzeigen
          OK, die Antwort war auch wieder kurz
          Hoi

          Aber knapp ausreichend.
          Grüsse Bodo
          Fragen gehören ins Forum, und nicht in mein Postfach;
          EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

          Kommentar


            #6
            Ist diese Textkonvertierung ein nerviges Thema ...

            Wunderground sendet in UTF-8, z.B. "Süd" als "53 c3 bc 64". Angezeigt wird der Text im EibPC als "S d".

            Keiner dieser verschiedenen Varianten von if-Abfragen ermöglicht die Umwandlung von "S d" in "Süd":

            if Wetterbericht_Vorhersage_Heute_Windrichtung_Tag == $S d$ then ...
            if Wetterbericht_Vorhersage_Heute_Windrichtung_Tag == $Süd$ then ...
            if Wetterbericht_Vorhersage_Heute_Windrichtung_Tag == $S&uuml;d$ then ...
            if Wetterbericht_Vorhersage_Heute_Windrichtung_Tag == $Süd$ then ...

            Wie bekomme ich die Umlaute von UTF-8 in ISO-8859-1 konvertiert?

            Kommentar


              #7
              Hi Michael,

              solange es keine native Umkodierung beim EibPC gibt probiere es mal so:

              // Süd ergibt 0x53 0xc3 0xbc 0x64, siehe dazu utf8-zeichentabelle
              TXT_SUED = $ $
              if systemstart() then {
              stringset(TXT_SUED , 0x53, 0u16);
              stringset(TXT_SUED , 0xc3, 1u16);
              stringset(TXT_SUED , 0xbc, 2u16);
              stringset(TXT_SUED , 0x64, 3u16);
              } endif

              if Wetterbericht_Vorhersage_Heute_Windrichtung_Tag == TXT_SUED then ...

              Gruß,
              Bernd

              Kommentar


                #8
                So langsam nervt mich die Textkonvertierung aber wirklich ...

                Die Windrichtung aus dem Conditions Report wird im Meldungsfenster/Debugger als "Ost-S dost" und im Webserver Button als "Ost-Südost" dargestellt.

                Würde es nicht Sinn machen, dass sich das Meldungsfenster bzw. der Debugger wie ein Browser verhält?

                Bernd, Dein Vorschlag greift korrekt. Vielen Dank dafür.

                Kommentar


                  #9
                  Vielleicht wäre das eher ein Feature-request wert für eine Funktion
                  Code:
                  MapCharset( Buffer, From, To)
                  Dann kannst Du quasi als Pseudo-code schreiben:

                  Code:
                  MapCharset( WondergroundXMLBuffer, UTF8, ISO-8859-1)
                  Vermutlich kannst Du einen String auch mit der EibPC Makro-For-Schleife parsen. Aber ich denke dann hat sich das Wetter vermutlich zwischenzeitlich geändert bevor Du mit dem parsen fertig bist ...


                  Gruß,
                  Bernd

                  Kommentar


                    #10
                    Nun habe ich herausgefunden, warum diese Art Umlautekorrektur von UTF-8 nach ISO 8859-1 per if-Abfrage bei mir bisher nicht funktioniert hat:

                    if Wetterbericht_Windrichtung_Aktuell == $Süd$ then Wetterbericht_Windrichtung_Aktuell = $Süd$ endif

                    Die Textkodierung des Makros muß Western ISO Latin 1 sein und nicht wie an anderer Stelle schon einmal empfohlen die Mac Standard Einstellung Western Mac OS Roman.

                    Für Windows Nutzer stellt sich dieses Problem vermutlich überhaupt nicht.

                    Kommentar


                      #11
                      genau habe mit den Umwandlungen der Umlaute im Makro wie von Brick beschrieben bei Windows keine Probleme

                      Kommentar

                      Lädt...
                      X