Gelöst: Warnung bzgl. Encoding

Antworten
thomas.besser
Beiträge: 455
Registriert: 09 Sep 2009, 09:40

Gelöst: Warnung bzgl. Encoding

Beitrag von thomas.besser »

Hallo,

seitdem das Encoding (seit opsi-winst 4.12.4.17) komplett überarbeitet wurde, verwende ich in allen Skripten "encoding=utf8". Damit verschwindet die Warnung "Encoding=system makes the opsiscript not portable between different OS".

Unter opsi-winst 4.12.4.24-1 aus testing kommt jetzt aber schon zum zweiten Mal folgende Warnung:

Code: Alles auswählen

[4] [2021-07-23 07:44:35.128] [o4i_greenshot]     Warning: Given encodingString system is different from the detected encoding utf8
Kann mir jemand erklären, was das genau bedeutet bzw. wie man diese Meldung jetzt weg bekommt?

Danke und Gruß
Thomas
Zuletzt geändert von thomas.besser am 28 Jul 2021, 14:45, insgesamt 1-mal geändert.
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: Warnung bzgl. Encoding

Beitrag von d.oertel »

Hallo allerseits,

zunächstmal zur Warnung:
"Encoding=system makes the opsiscript not portable between different OS"
Wen diese Warnung nervt und er aber nicht
'encoding=utf8' in alle seine scripte, includes, libraries (usw) schreiben will,
hat ab opsi-script 4.12.4.23 die Möglichkeit diese Warnung auszuschalten mit dem config:
opsi-script.global.supressSystemEncodingWarning=true

Die Warnung:
Given encodingString system is different from the detected encoding utf8
Ist wie folgt zu verstehen:

'Given encodingString' ist das was in der Anweisung 'encoding=' angegeben ist. Gibt es dies Anweisung nicht, so ist dies Implizit 'system' (Weil: das war schon 'immer' der default und defaults ändern wir nicht).

'detected encoding': Ist das was opsi-script beim einlesen vorfindet.
Jetzt ist das detectiern von encodings so eine Sache, weil bei der ausschließlichen Verwendung von plain-ascii (US-ascii) es binär keinen unterschied zwischen utf8 und cp1252 (system auf deutschem win) gibt.
Aber wenn die Datei z.B. einen BOM hat (utf8-bom) oder anhand von Umlauten erkannt wird das es sich um utf8 handeln muß,
wird die Datei natürlich als utf8 eingelesen, obwohl das (evtl. implizite) 'given encoding' = system ist.
Aber in einem solchen Fall haben wir einen widerspruch der erwähnt wird.

Ich überlege zur Zeit ob ich an dieser Stelle noch eine Prüfung einführe, ob eine Datei überhaupt non plain-ascii Zeichen enthält
und wenn nicht, auf jede Warnung zu verzichte, weil es in diesem Fall echt Haarspalterei ist da es ja keinen Unterschied gibt (siehe oben).

gruß
detlef
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
thomas.besser
Beiträge: 455
Registriert: 09 Sep 2009, 09:40

Re: Warnung bzgl. Encoding

Beitrag von thomas.besser »

Danke für die ausführliche Erklärung, das klingt alles sehr plausibel. "encoding=utf8" setze ich jetzt bei allen Paketen, sobald ich sie wieder für ein Update anfasse.

Ich bekomme die Meldung aber mittlerweile bei fast jedem Paket. Heute morgen auch gleich wieder...

Code: Alles auswählen

[4] [2021-07-27 08:04:03.475] [o4i_zoom-client]   Warning: Given encodingString system is different from the detected encoding utf8
Encoding ist auf utf8 gesetzt, alle OPSI-Skripte sind entweder UTF-8 oder US-ASCII:

Code: Alles auswählen

/home/opsiproducts/o4i_zoom-client/CLIENT_DATA$ file -i *
common.opsiinc:                      text/plain; charset=us-ascii
custom:                              inode/directory; charset=binary
delsub.opsiscript:                   text/plain; charset=utf-8
files:                               inode/directory; charset=binary
lib_o4i_guideline_functions.opsiinc: text/plain; charset=utf-8
lib_registry_functions.opsiinc:      text/plain; charset=utf-8
lib_servicecall_functions.opsiinc:   text/plain; charset=us-ascii
o4i.png:                             image/png; charset=binary
osd-lib.opsiscript:                  text/plain; charset=us-ascii
setup.opsiscript:                    text/plain; charset=us-ascii
uninstall.opsiscript:                text/plain; charset=us-ascii
Ich würde sagen, die Warnung dürfte es nicht geben...

Gruß
Thomas
thomas.besser
Beiträge: 455
Registriert: 09 Sep 2009, 09:40

Gelöst: Warnung bzgl. Encoding

Beitrag von thomas.besser »

Nach direktem Austausch mit Detlef, will ich hier kurz die Lösung präsentieren:

Nachdem anfänglich "Encoding=utf8" in den "Start"-Skripten "setup.opsiscript" bzw. "uninstall.opsiscript" ausgereicht hat, um die Warnung zu beheben, wird seit einer neueren Version von opsi-winst das mit "Sub" eingebundenen Skripten notwendig.

Nachdem das Encoding nun auch in der "delsub.opsiscript" gesetzt wird, ist die Meldung wieder weg.

Danke und Gruß
Thomas
Antworten