Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

Datei-Enkodierung UTF-8/Ascii funktioniert direkt bei Neustart nicht!?

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

    Datei-Enkodierung UTF-8/Ascii funktioniert direkt bei Neustart nicht!?

    Hi!

    Mir ist ein ziemlich eigenartiges Problem/Bug unterkommen: Nachdem ich nunmehr nur noch sehr selten smarthome.py neu starte und teilweise den ganzen Linux-Server neustarte aufgrund von anderer Nutzung habe ich Probleme mit Umlauten in Dateien:

    Bei einem PC-Neustart (über das init.d-Script) bricht das Einlesen der logic.conf oder, wenn dort alle Umlaute entfernt wurden, beim Einlesen einer "irgendwas.py" Logic mit einem Encoding-Fehler ab:
    Code:
    2014-09-02 21:38:03,737 DEBUG    Main         Logic: elternbad_handtuchheizung -- logic.py:__init__:44
    2014-09-02 21:38:03,738 ERROR    Main         Exception: 'ascii' codec can't decode byte 0xc2 in position 213: ordinal not in range(128) -- logic.py:generate_bytecode:122
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/logic.py", line 118, in generate_bytecode
        code = open(self.filename).read()
      File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
        return codecs.ascii_decode(input, self.errors)[0]
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 213: ordinal not in range(128)
    2014-09-02 21:38:03,740 DEBUG    Main         Logic: elternbad_beleuchtung -- logic.py:__init__:44
    2014-09-02 21:38:03,740 ERROR    Main         Exception: 'ascii' codec can't decode byte 0xc2 in position 50: ordinal not in range(128) -- logic.py:generate_bytecode:122
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/logic.py", line 118, in generate_bytecode
        code = open(self.filename).read()
      File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
        return codecs.ascii_decode(input, self.errors)[0]
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 50: ordinal not in range(128)
    Was mich nur irritiert: Starte ich den Service manuell per "service smarthome restart", also mit den gleichen Rechten mit dem gleichen init.d-Script funktioniert alles.

    Kann irgend etwas was das Encoding beeinflusst beim Systemstart noch nicht geladen sein?

    Kennt noch jemand das Problem?

    Noch mal ganz klar: PC-Neustart - funktioniert nicht / smarthome Neustart - funktioniert

    Grüße
    Robert

    //edit: Ok, hier gibt es wahrscheinlich die Antwort: http://stackoverflow.com/questions/9...n-a-new-server - ich teste das in würde das mit Marcus Erlaubnis ins develop schieben - Marcus?

    //edit2: Funktioniert erwartungsgemäß - Vorbehalte das es woanders schadet?

    #2
    Hallo Robert,

    ein Problem liegt an der fehlenden Umgebungsvariable (z..B. LC_ALL) bei Deiner Startumgebung.

    Ich habe die encodings an drei Stellen in dev spezifiziert.
    Danke für den Input.

    Bis bald

    Marcus

    Kommentar


      #3
      Hallo,

      gleiches Problem bei mir:
      Code:
      2015-03-17 07:45:29 ERROR    Main         Exception: 'ascii' codec can't decode byte 0xc3 in position 240: ordinal not in range(128)
      Traceback (most recent call last):
        File "/usr/local/smarthome/lib/logic.py", line 117, in generate_bytecode
          code = open(self.filename).read()
        File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
          return codecs.ascii_decode(input, self.errors)[0]
      UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 240: ordinal not in range(128)
      2015-03-17 07:45:29 ERROR    Main         Exception: 'ascii' codec can't decode byte 0xc3 in position 872: ordinal not in range(128)
      Traceback (most recent call last):
        File "/usr/local/smarthome/lib/logic.py", line 117, in generate_bytecode
          code = open(self.filename).read()
        File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
          return codecs.ascii_decode(input, self.errors)[0]
      UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 872: ordinal not in range(128)
      2015-03-17 07:45:29 ERROR    Main         Exception: 'ascii' codec can't decode byte 0xc3 in position 322: ordinal not in range(128)
      Traceback (most recent call last):
        File "/usr/local/smarthome/lib/logic.py", line 117, in generate_bytecode
          code = open(self.filename).read()
        File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
          return codecs.ascii_decode(input, self.errors)[0]
      UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 322: ordinal not in range(128)
      was ist da zu tun ??

      Gruß Martin
      Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

      Kommentar


        #4
        Hallo,

        ich hab diese Lösung verwendet (unter Ubuntu). Damit ging es dann auch beim Systemstart.

        https://knx-user-forum.de/forum/supp...m-smarthome-py

        Gruß
        Thomas

        Kommentar


          #5
          super danke für den Link.. vorletzter Beitrag hat bei mir funktioniert ..
          hab ich nicht gefunden.. komisch.

          Gruß Martin
          Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

          Kommentar

          Lädt...
          X