html_entity_decode()

Gesperrt
BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

html_entity_decode()

Beitrag von BagHira » Mo 30. Aug 2010, 18:32

Servus zusammen,

nach einem Update von Contenido 4.8.12 auf 4.8.13 erhalte ich die folgende Fehlermeldung:

Code: Alles auswählen

PHP Warning:  html_entity_decode() [<a href='function.html-entity-decode'>function.html-entity-decode</a>]: charset `I' not supported, assuming iso-8859-1 in /daserver/create/contenido/includes/functions.con2.php on line 536
Es handelt sich hierbei um die Seite aus der Signatur...
Hier die Serverumgebung: http://www.handgewickelte-glasperlen.de/module/info.php

Kann damit jemand etwas anfangen?
Zuletzt geändert von BagHira am Di 31. Aug 2010, 10:51, insgesamt 1-mal geändert.
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: html_entity_decode()

Beitrag von xmurrix » Mo 30. Aug 2010, 22:25

Hallo BagHira,

es handelt sich hier um die Stelle, in der die Metatags der Seite generiert werden. Vermutlich gibt kommt da ein String vor, das Zeichen enthält, die nicht im Zeichensatz ISO-8859-1 vorkommen.

Die Funktion html_entity_decode() ist dort neu eingefügt worden, um andere Probleme zu lösen, die früher entstanden sind - Jetzt macht es halt bei dir Probleme ;-)

Versuche mal herauszufinden, bei welchen Seiten der Fehler produziert wird. Eventuell lassen sich die Texte auf ISO umstellen, was in deinem Fall vermutlich richtiger wäre. Wenn die Ausgabe der Seite in ISO-8859-1 sein soll, aber Inhalte der Metatags Zeichen außerhalb von ISO-8859-1 haben, fällt das vorserst nicht auf, weil keiner in der Regel sich den Quellcode anschaut.


Nachtrag:
kummer hat mit seiner Anmerkung recht (siehe nächsten Post), daher kannst das, was ich geschrieben habe, vergessen.
Irgendwo wird vermutlich die globale Variable $encoding überschrieben, vermutlich in irgend einem Modul?
Die Variable $encoding sollte eine Liste der Encodings enthalten, in deinem Fall ist da wohl ein String drin, daher liefert $encoding[$lang] ein Zeichen zurück...

Gruß
xmurrix
Zuletzt geändert von xmurrix am Di 31. Aug 2010, 10:05, insgesamt 1-mal geändert.
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Re: html_entity_decode()

Beitrag von kummer » Di 31. Aug 2010, 09:40

BagHira hat geschrieben:

Code: Alles auswählen

PHP Warning:  html_entity_decode() [<a href='function.html-entity-decode'>function.html-entity-decode</a>]: charset `I' not supported, assuming iso-8859-1 in /daserver/create/contenido/includes/functions.con2.php on line 536
die entsprechende stelle im code sieht so aus:

Code: Alles auswählen

$value['content'] = html_entity_decode($value['content'], ENT_QUOTES, strtoupper($encoding[$lang]));
und die fehlermeldung deutet darauf hin, dass an dieser stelle strtoupper($encoding[$lang]) eben ein I ausgibt, anstatt iso-8859-1 oder eben ein anderes encoding. das sollte nichts mit dem inhalt zu tun haben, der an dieser stellte umzusetzen ist. es heisst ja nicht, dass ein zeichen nicht hat konvertiert werden können, sondern dass das encoding eben nicht bekannt ist.

gib doch einfach mal an dieser stelle ein var_dump des ausdrucks strtoupper($encoding[$lang]) aus.

Code: Alles auswählen

var_dump(strtoupper($encoding[$lang]));
und kontrollier mal, welches encoding für die gewählte sprache gesetzt ist. das ist möglicherweise auch schon falsch.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Re: html_entity_decode()

Beitrag von BagHira » Di 31. Aug 2010, 16:18

Vielen Dank ihr beiden :wink:

Es ist tatsächlich so, das die Variable $encoding überschrieben wurde (suche in con_code). Das Modul RSS Feed Generator überschreibt die Variable. Ich habe diese nun abgeändert... mal abwarten was passiert.

Spider IT werde ich PN informieren.
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Re: html_entity_decode()

Beitrag von kummer » Mi 1. Sep 2010, 07:44

solche dinge gehören eigentlich auch nicht in den globalen scope, sondern in eine registry. dann könnte sowas gar nicht geschehen. nur so als tipp am rande.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Gesperrt