Hallo,
ich habe eine mehrsprachige Website, die ich in der vergangenen Woche auf 4.8.18 (von 4.8.15) umgestellt habe. (Läuft auf PHP 5.3, MySQL 5.5)
Seitdem habe ich im Contenido Errorlog folgenden Eintrag:
[26-Mar-2013 09:09:14 UTC] PHP Warning: html_entity_decode(): charset `ISO-8859-2' not supported, assuming iso-8859-1 in /var/www/pages_cms2/contenido/includes/functions.php54.php on line 59
Das encoding ISO-8859-2 ist korrekt gesetzt und funktioniert auch - bis auf diese Fehlermeldung.
Nun weiß ich, dass html_entity_decode nur bestimmte Zeichensätze unterstützt - ISO-8859-2 ist nicht dabei. Ich habe darauf alle eingesetzten Module geprüft und im Zweifel das charset auf ISO-8859-1 festgesetzt - der Fehler bleibt aber.
Jetzt habe ich mir das beanstandete Skript functions.php54.php on line 59 angeschaut und festgestellt, dass da scheinbar ein Aufruf mit einem nicht unterstützten Charset möglich ist: Beim Aufruf meiner Webseite wird auch die Zeile 534 in functions.con2.php abgearbeitet:
$value['content'] = conHtmlEntityDecode($value['content'], ENT_QUOTES, strtoupper($encoding[$lang]));
Und da wird eben das falsche Charset übergeben - oder sehe ich das falsch? Liegt der Fehler bei mir oder bei Contenido?
Fehler bei fremdsprachigen Seiten
-
- Beiträge: 3215
- Registriert: Do 21. Okt 2004, 11:08
- Wohnort: Augsburg
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 17 Mal
- Kontaktdaten:
Re: Fehler bei fremdsprachigen Seiten
Hallo nfc,
die Funktion html_entity_decode() unterstützt ISO-8859-2 nicht, daher die Warnung. Es ist nicht dein Fehler, eigentlich auch nicht von CONTENIDO, aber man könnte in CONTENIDO darauf eingehen.
Am saubersten wäre es, wenn man die ganze Seite unter UTF-8 laufen lässt, aber das ist im nachhinein auch etwas schwierig.
Du kannst in der functions.php54.php an entsprechender Stelle das Encoding auf "ISO-8859-1" umstellen, wenn es "ISO-8859-2" ist. Der Unterschied zwischen ISO-8859-1 und ISO-8859-2 sollte nicht zu groß sein und ich denke dass html_entity_decode() damit klar kommt.
Gruß
xmurrix
die Funktion html_entity_decode() unterstützt ISO-8859-2 nicht, daher die Warnung. Es ist nicht dein Fehler, eigentlich auch nicht von CONTENIDO, aber man könnte in CONTENIDO darauf eingehen.
Am saubersten wäre es, wenn man die ganze Seite unter UTF-8 laufen lässt, aber das ist im nachhinein auch etwas schwierig.
Du kannst in der functions.php54.php an entsprechender Stelle das Encoding auf "ISO-8859-1" umstellen, wenn es "ISO-8859-2" ist. Der Unterschied zwischen ISO-8859-1 und ISO-8859-2 sollte nicht zu groß sein und ich denke dass html_entity_decode() damit klar kommt.
Gruß
xmurrix
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.
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.