show_drivers.py zeigt Probleme durch hwaudit Zeichensatz

Antworten
Valentino-46
Beiträge: 280
Registriert: 05 Aug 2011, 14:24

show_drivers.py zeigt Probleme durch hwaudit Zeichensatz

Beitrag von Valentino-46 »

Hallo zusammen,

ich habe bei vereinzelten Workstations den folgenden Fehler bei ./show_drivers.py beim Win10-x64 Installationspaket. Gleich vorweg habe ich die aktuellste Version des Paketes, ebenfalls das aktuellste des hwaudit Paketes.

Der Fehler lautet:
[3] [2022-09-07 17:54:06.735] [ ] 'latin-1' codec can't encode character '\u2013' in position 108: ordinal not in range(256) (<string>:446)
Traceback (most recent call last):
File "<string>", line 444, in <module>
File "<string>", line 325, in main
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2013' in position 108: ordinal not in range(256)
Traceback (most recent call last):
File "opsiutils/opsipython.py", line 65, in main
File "opsiutils/opsipython.py", line 44, in run_script
File "<string>", line 447, in <module>
File "<string>", line 444, in <module>
File "<string>", line 325, in main
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2013' in position 108: ordinal not in range(256)

Taucht bei 325 im else Block auf:

Code: Alles auswählen

            if hardwareClass == 'HDAUDIO_DEVICE':
                print(white(f"   [{ah.vendorId}:{ah.deviceId}]  {name}"))
            else:
                print(white(f"   [{ah.vendorId}:{ah.deviceId}]  {vendor} : {name}"))
Etwas genauer geschaut komme ich drauf, dass ein sogenannter "en dash" das Problem in diesem Fall versursacht, könnte mir aber vorstellen, dass es noch mehr illegale Zeichen hier gibt.

Gehe ich in die hardware Inventarisierungs Datenbank, dann sehe ich zb in "HARDWARE_DEVICE_PCI_DEVICE" folgendes
Intel(R) USB 3.0 eXtensible-Hostcontroller – 1.0 (Microsoft)
Wichtig hierbei ist, dass vor dem 1.0 dieses Zeichen ein "en dash" ist. es ist kein gewöhnliches Minus Zeichen, was hier wegen der Formatierung nicht rüber kommt.
Lösche ich diesen Eintrag für den aktuellen Problemhost, dann funktioniert die Abfrage wieder problemlos.

Könnt Ihr mir sagen, ob ich meine Datenbank mit falschem Zeichensatz nutze? Oder was mache ich falsch, dass solche Sonderzeichen wie beispielsweise auch ein "scharfes S" oder die Umlaute hier nicht zu Anzeigeproblemen führen.
Das sieht nämlich auch schon immer so aus:

Code: Alles auswählen

Standardm▒▒iger NVM Express-Controller : Standardm▒▒iger NVM Express-Controller
Ich hoffe die Installation der Treiber wurde hierdurch nicht beeinflusst?!

Vielen Dank für eure Hinweise,
Herzliche Grüße,
Valentino
Antworten