FHEMWEB - nach Umzug werden Umlaute verstümmelt angezeigt

Begonnen von SusisStrolch, 15 September 2023, 10:16:56

Vorheriges Thema - Nächstes Thema

SusisStrolch

Umgebung:
- FHEM auf armbian
- configDB
- logdb

Nach Umzug / Neuaufbau des FHEM-Servers werden Umlaute (genauer: UTF8 Zeichen) im Browser verstümmelt angezeigt.

Beispiel:
    ist: "Leistung ges.: Σ: 259.11 W, Î": 130.91 W"
    soll: "Leistung ges.: ∑: 259.11 W, Δ: 130.91 W"
Für mich sieht es so aus als ob die Texte nicht als UTF-8 interpretiert werden.

An welcher Stelle kann/muß ich drehen damit die Strings wieder als UTF8 wiedergegeben werden?
Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch

rudolfkoenig

Ist das ein Anzeigeproblem oder sind die Daten in der Datenbank schon falsch kodiert?
Im Gegensatz zu Dateien haben Datenbanken eine Vorstellung von "richtige Kodierung".

SusisStrolch

Das ist ein reines Anzeigeproblem.
Der Datenbestand in der configDB hat sich nicht geändert und vor dem Umzug wurden die Unicodes auch sauber angezeigt.
Anderes Beispiel: ° wird als ° dargestellt.
Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch

SusisStrolch

Zitat von: SusisStrolch am 15 September 2023, 12:16:00Das ist ein reines Anzeigeproblem.
Der Datenbestand in der configDB hat sich nicht geändert und vor dem Umzug wurden die Unicodes auch sauber angezeigt.
Anderes Beispiel: ° wird als ° dargestellt.

Korrektur: ich habe mal direkt in die configDB Daten geschaut.
Deren Daten werden bei mir im Browser ebenfalls so angezeigt.

Und ein Hexdump nach einem DB-Export zeigt mir:
00000120: 2c22 7370 7269 6e74 6628 2222 4c65 6973  ,"sprintf(""Leis
00000130: 7475 6e67 2067 6573 2e3a 20c3 8ec2 a33a  tung ges.: ....:
00000140: 2025 2e32 6620 572c 20c3 8ee2 809d 3a20   %.2f W, .....:
00000150: 252e 3266 2057 2222 2c20 2464 6174 617b  %.2f W"", $data{
Das wären ja zum Einen ein "c3 8e c2 a3" für das Summenzeichen (4 Byte?) und "c3 8e e2 80 9d" für das Delta-Zeichen (5 Byte).

Strange...
Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch

rudolfkoenig

Laut https://www.compart.com/en/unicode/U+2211 sind das weniger Zeichen.
Ich tippe auf ein Problem bei der Migration der Daten.

SusisStrolch

Aber ich habe doch gar keine Daten migriert, sondern lediglich nen neuen Host aufgesetzt der auf die existierenden Datenbanken (DBLog und configDB) zugreift.
Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch

rudolfkoenig

D.h. die existierenden Datenbanken sind auf einem Rechner, was nicht angefasst wurde, und nur der FHEM-Host wurde neu aufgesetzt?

Dann kann ich nur andere LANG / LC_* Umgebungsvariablen als Ursache vorstellen, auch wenn das eigentlich(TM) von der DB-Bibliothek korrekt interpretiert werden sollte.
Womoeglich koennen die DbLog/configDB Maintainer dazu mehr sagen.

In diesem Zusammenhang gibt es das global Attribut encoding, per Voreinstellung aendert sich aber nichts an dem bisherigen Verhalten.
Die damit ermoeglichte FHEM interne Darstellung der Strings mit "Wide-Char" statt UTF-8 wird noch nicht von allen Modulen unterstuetzt.
Keine Ahnung, ob DbLog/configDB es unterstuetzen, das sollte aber nur dann eine Rolle spielen, wenn man das Attribut auf unicode geaendert hat.

SusisStrolch

Zitat von: rudolfkoenig am 15 September 2023, 18:17:26D.h. die existierenden Datenbanken sind auf einem Rechner, was nicht angefasst wurde, und nur der FHEM-Host wurde neu aufgesetzt?
Genau so.

ZitatDann kann ich nur andere LANG / LC_* Umgebungsvariablen als Ursache vorstellen,
Das ist meine Vermutung. Ich hatte die LANG Konfiguration vergessen.
Und nach dem Starten von FHEM einen "Save Config" durchgeführt.
Evtl. war das letztendlich die Ursache.

Anyway - mal schauen wie ich das jetzt gerade ziehe...
Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch