Ankündigung

Einklappen
Keine Ankündigung bisher.

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