Contenido ergänzt falschen iso-Code im Metatag

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Contenido ergänzt falschen iso-Code im Metatag

Beitrag von homtata » Mi 11. Okt 2017, 00:11

Hallo Gemeinde,
ich habe eine 4.6.24 über Zwischenschritte auf 4.9.12 aktualisiert und bin damit eigentlich auch gut erfahren. In der 4.9.12 läuft die Datenbankkollation auf utf8, die Mandantensprache ist utf8, config.php auf utf8, ABER im Gegensatz zu reinen 4.9.x-Installationen bastelt Contenido selbständig weiterhin fröhlich folgenden falschen Metatag zusammen:

Code: Alles auswählen

<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
der in den anderen fehlerfreien Versionen aber utf8 ausspuckt:

Code: Alles auswählen

<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
Ich finde KEINE Stelle in der Datenbank, im Quellcode, in den Contenido-Settings, wo iso noch hinterlegt ist. Alle Caches sind gelöscht, das System ist blank.
Hat jemand von Euch eine Idee, woher das kommen könnte?

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Contenido ergänzt falschen iso-Code im Metatag

Beitrag von frederic.schneider_4fb » Mi 11. Okt 2017, 08:33

Guten Morgen,

die Datei class.codegenerator.standard.php (Ordner contenido/classes/code_generator) schreibt einen entsprechenden Meta-Tag in der Funktion _getBasicMetaTags(). Dabei wird von dieser Funktion jener Wert eingefügt, den Du für Deine jeweilige Sprache eingestellt hast.

Wird für die Generierung einer Seite die cGuiPage-Klasse verwendet, dann gibt es theoretisch auch noch die Möglichkeit, dass über die Funktion setEncoding() ein Charset manuell übergeben werden kann.

Vielleicht hilft Dir das schon einmal weiter?
Frederic Schneider
Entwickler bei der four for business AG

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Contenido ergänzt falschen iso-Code im Metatag

Beitrag von homtata » Mi 11. Okt 2017, 10:49

Hallo Frederic,
das IST ja das schräge: In der Sprache des Mandanten (deutsch) ist definitiv utf8 eingestellt (auch in der Datenbank überprüfbar). Trotzdem landet da iso im Quellcode... ich habe versucht, durch Modifikationen der class Änderungen zu erzwingen, aber es ist so, als ob sich selbst das Umbenennen der Datei (und damit ihr Fehlen) nicht auswirken würde... So, als würde der Contenido-Pfad nicht stimmen und er auf ein anderes Contenido zugreifen, was aber nicht sein kann, da das System nachweislich jetzt auf 4.9 läuft und nirgends eine parallele 4.9 auf dem Server liegt, auf die Zugriff bestünde.
Ich steh grad auf dem Schlauch.

EDIT:
Durch ständiges Leeren des Caches ist die class nun doch soweit manipulierbar, dass sie durch händische Anpassung andere Codes ausspuckt (ist ja aber nicht im Sinne des Erfinders. Offensichtlich stimmt der Inhalt von $encoding auf die lang=1 nicht... Wo wird die denn eingestellt? Woher kann sich diese Variable die falsche iso-Einstellung ziehen??
Zuletzt geändert von homtata am Mi 11. Okt 2017, 11:03, insgesamt 1-mal geändert.

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Contenido ergänzt falschen iso-Code im Metatag

Beitrag von frederic.schneider_4fb » Mi 11. Okt 2017, 11:00

Und es gibt auch keine alten 4.6 Layouts/Templates/Module, in denen das noch drinnen stehen könnte?
Frederic Schneider
Entwickler bei der four for business AG

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Contenido ergänzt falschen iso-Code im Metatag

Beitrag von homtata » Mi 11. Okt 2017, 11:28

Nope, alles durchgesehen. Es gibt überhaupt nur 2 Layouts und 3 Module, und diese Module habe ich ALLE gegen die neuesten Module getauscht (noch nicht mal angepasst, wirklich getauscht). Auch neue Layouts angelegt - nix. Ich suche gerade, ob es an der php-Version liegen kann, die per htaccess auf 5.6 gefaked werden muss für den Test, während sonst auf dem Server 5.6 läuft...?

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Contenido ergänzt falschen iso-Code im Metatag

Beitrag von frederic.schneider_4fb » Mi 11. Okt 2017, 11:41

Wüsste spontan nicht, ob das so eine Auswirkung hat. Hast Du Dir auf dem Server mal die gecachten Dateien angesehen und versucht, durch Debugging der Ursache näher zu kommen? So würde ich jedenfalls an die Sache herangehen: Mich herantasten an die Ursache, um herauszufinden, an welcher Stelle der iso-Wert in den Meta-Tag geschrieben wird. Es gibt ja nur drei Varianten: 1. Der Iso-Wert steht in irgendeinem Template. 2. Der Iso-Wert steht hardcoded in irgendeiner PHP-Codezeile. 3. Der Iso-Wert wird in einer Konfigurationsdatei oder in der Datenbank abgespeichert und durch eine CONTENIDO-Klasse dynamisch geschrieben. Da Du ein Update von der 4.6 auf die 4.9 gemacht hast, ist es ja nur so zu erklären, dass von der 4.6 noch Werte übrig geblieben sind, sei es also eine Datei, die noch vorhanden ist, obwohl sie es nicht sein sollte, oder sei es eine Konfiguration, die aus der 4.6 noch vorhanden ist und nicht überschrieben oder entfernt wurde. Das ist jetzt viel Theorie, aber ich glaube wir kommen nicht anders weiter als wenn Du versuchst durch Debugging auf Grundlage dieser Theorie Dich praktisch dem Problem zu nähern. Ich wiederhole mich: Genauso würde ich jedenfalls jetzt vorgehen.
Frederic Schneider
Entwickler bei der four for business AG

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Contenido ergänzt falschen iso-Code im Metatag

Beitrag von homtata » Mi 11. Okt 2017, 11:59

Ich mach ja schon nix anderes :-) Der Wert wird definitiv falsch durch die globale Variable $encoding eingefügt sprich: $encoding[1] ist falsch. Kannst du mir mehr dazu sagen, wo die initiiert wird?

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Contenido ergänzt falschen iso-Code im Metatag

Beitrag von homtata » Mi 11. Okt 2017, 12:09

Okay, es sieht tatsächlich so aus, als ob die PHP-Umgebung das beeinflusst. Wir haben das gerade testweise auf einen echten 5.6er umgezogen, und siehe da: die Codierungen stimmen jetzt überall.

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Contenido ergänzt falschen iso-Code im Metatag

Beitrag von frederic.schneider_4fb » Mi 11. Okt 2017, 12:19

Das ist aber interessant. Mich würde interessieren, welcher Code von uns den Unterschied bei den PHP-Versionen auslösen soll, dass er mal Utf8 setzt und dann wieder Iso.
Frederic Schneider
Entwickler bei der four for business AG

Antworten