mit 4.0 habe ich Probleme mit der Darstellung von Umlauten in Logfiles.
Beispiel:
Schaue ich mir das IPS logfile.log unter Windows 10 mit Notepad an, so lese ich da:
18:53:18 | 00000 | SUCCESS | Kernel | *** IPS BETRIEBSBEREIT
18:53:18 | 50711 | MESSAGE | Event Control | Start-Skript ausgeführt
18:54:16 | 48941 | MESSAGE | Serial Port | Einstellungen gespeichert
18:54:16 | 48941 | MESSAGE | Serial Port | Öffne Port...
Öffne ich die gleiche Datei mit Notepad++ unter Windows 10, dann lese ich:
18:53:18 | 00000 | SUCCESS | Kernel | *** IPS BETRIEBSBEREIT
18:53:18 | 50711 | MESSAGE | Event Control | Start-Skript ausgeführt
18:54:16 | 48941 | MESSAGE | Serial Port | Einstellungen gespeichert
18:54:16 | 48941 | MESSAGE | Serial Port | Öffne Port...
„Interessant“ sind auch die Einträge im Logger der IPS Library. Mal stimmen die Umlaute (‚geöffnet‘), mal nicht (Küche) im selben Eintrag:
<event logger="_GetLuftfeuchteRegulierung" timestamp="2016-02-13T14:57:36.000000+01:00" level="DEBUG" domain="IPS.exe" thread="9" username="IPS"><message>Küche links - Schutz vor Luftfeuchteausgleich erforderlich: Innen (45%) , LuftfeuchteDifferenz (3.8) g/kg > 2.5 geöffnet seit 5400s</message></event>
Seltsamerweise kommt es vor, das die Anzeige direkt nach IPS Start mal stimmt, und dann später erst verbogen ist.
Hat jemand eine Idee, woran das liegen kann?
Diese Phänomene gibt es bei mir unter 3.4 nicht. Hier werden die Umlaute immer korrekt dargestellt.
Das liegt daran, dass IPS4.0 (fast) alles in UTF-8 kodiert. Falls du aber alte Skripte aus der 3.4 hat, dann haben die noch Inhalte, die in „Windows 1252“ (also das alte ASCII) kodiert sind. Ich muss mal sehen, ob ich eine Tool bereitstellen kann, dass solche Abweichungen finden und alles korrekt nach UTF-8 kodieren kann.
Danke, die Information ist neu für mich. Ist das schon irgendwo erwähnt?
Was bedeutet das?
[ul]
[li]alle Dateien wie Scripte, Logfiles, Konfigurationdateien müssen vor der Benutzung in 4.0 nach UTF-8 konvertiert werden?
[/li][li]ich darf die Scripte nicht unter 3.4 und 4.0 bearbeiten und dann austauschen? So bin ich bislang vorgegangen:(.
[/li]Auffälligkeiten/Inkompatibilitäten habe ich auf meinem 4.0 Testsystem korrigiert und dann in mein 3.4 Produktivsystem übernommen.
[li]hat das Auswirkungen auf die IPS Library oder andere Tools, die es sowohl unter 3.4 als auch unter 4.0 gibt??
[/li][/ul]
Moin Christian!
Könnte hilfreich sein, danke für den Tipp
Aber ich würde eher erwarten, dass IPS das im Upgrade-Vorgang von IPS 3.4 auf IPS 4.x selbst macht… Also für mich gehört das mit in das Setup von IPS 4.x rein!
Das sehe ich momentan genauso. Auch fehlt mir ein deutlicher Hinweis auf das geänderte „Dateiformat“. Zumal man sich bei einem nachträglichen Dateiaustausch zwischen 3.4 und 4.0 eventuell selber darum kümmern müssen wird.
Aber dafür ist das Tool dann bestimmt hilfreich. Danke!
@paresy: bist du mit den Überlegungen bereits weiter gekommen? Ich fände es hilfreich, wenn während der Installation von 4.0 die Scripte entsprechend umcodiert würden.
Wir haben uns entschieden, dass wir dafür ein Skript bereitstellen, welches „problematische“ Skripte und ggf. andere betroffenen Stellen findet und entsprechend ausgibt. Auf Wunsch können dann die Skripte umgewandelt werden. Der Skript hat den Vorteil, dass dies jederzeit ausgeführt werden kann, wenn man z.B. sich neue Skripte aus dem Forum kopiert.
Ich habe im Webfront auch Umlaute die nicht korrekt dargestellt werden (bei ganz normalen Überschriften). Bei manueller Änderung wurden sie jedoch einige Zeit lang korrekt angezeigt.
Ja aber auch innerhalb von Skripten ist das problematisch. Ich musste meine ganze Beschattungssteuerung durchforsten und hab jetzt überall ue statt ü usw. stehen das sieht echt bescheiden aus. Ich hoffe hier gibt es schnellstmöglich eine Lösung
kann es sein, das es auch noch Probleme gibt, wenn man einen String einließt der Umlaute enthält?
Habe gestern mal mein IPS4 auf einen Raspberry umgezogen und mein Script zum laden der DWD Wetterdaten hat ein kleines Umlaute Problem.
ich lese via ftp_fget die Textdateien ein und suche dann in den Strings (strrpos, substr, sscanf) nach dem was ich ausgeben will. Das Ergebnis schreibe ich in Variablen (SetValue …).
Sobald ein Umlaut in der String Kette vorkommt, steht sieht es komisch aus.
Bsp: „7 °C - heiter“ vs. „11 °C - bewölkt“
ich habe am Wochenende auf die Version vom 11.03 88e7607e84cb geupdatet und bin meine Umlautprobleme los. War gerade ganz überrascht das die LiveTiles am Rechner richtig dargestellt wurden.
Laut Changelog wurde da aber doch noch gar nichts geändert oder hab ich was übersehen?