[BUG] htmlentities … invalid multibyte sequence

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

[BUG] htmlentities … invalid multibyte sequence

Beitrag von rethus » Do 14. Nov 2013, 14:46

Wenn ich im BE von 4.9.0 in einem Header oder Content-Element über den blauen Bleichstift editiere und speichere, schmeißt der Error-Log folgenden Fehler:
PHP Warning: htmlentities() [<a href='function.htmlentities'>function.htmlentities</a>]: Invalid multibyte sequence in argument in /…/contenido/classes/class.search.php on line 333
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

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

Re: [BUG] htmlentities … invalid multibyte sequence

Beitrag von frederic.schneider_4fb » Mo 18. Nov 2013, 13:16

Was für ein Encoding hast Du für Deine Sprache denn gewählt?
Frederic Schneider
Entwickler bei der four for business AG

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [BUG] htmlentities … invalid multibyte sequence

Beitrag von rethus » Fr 22. Nov 2013, 11:24

Wo kann ich dass denn sehen?
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [BUG] htmlentities … invalid multibyte sequence

Beitrag von rethus » Di 22. Jul 2014, 15:20

Inzwischen ist die Webpage auf einen anderen Server umgezogen. Dort besteht das Problem weiter.
Im Backend sind alle Sprachen mit UTF-8 konfiguriert. Die DB und die einzelnen Tabellen haben auch alle UTF-8 als Kollation.

Diesmal tritt der Fehler aber in folgender Datei auf:

Code: Alles auswählen

PHP Warning:  htmlentities(): Invalid multibyte sequence in argument in ......./contenido/includes/functions.php54.php on line 76
An besagter Stelle befindet sich folgende Funktion im Sourcecode

Code: Alles auswählen

if (function_exists('conHtmlentities') == false) {

    function conHtmlentities($value, $flags = '', $encoding = '') {
        $isPhp54 = conPhp54Check();

        if ($isPhp54 == 1) {
            $flags = ($flags == '') ? ENT_COMPAT | ENT_HTML401 : $flags;
            $encoding = ($encoding == '') ? 'UTF-8' : $encoding;
        } else {
            $flags = ($flags == '') ? ENT_COMPAT : $flags;
        }

        return htmlentities($value, $flags, $encoding);
    }

}
"return htmlentities($value, $flags, $encoding);" ist dabei die besagte Zeile.
Ein var_dump($encoding); vor dieser Zeile ergibt im Regelfall: string(5) "utf-8", ABER beim abspeichern eines Textfeldes, das in TinyMce aufgerufen wurde, ergibt es "string(0) """

Auf dem Server läuft php5.3
Zuletzt geändert von rethus am Di 22. Jul 2014, 15:42, insgesamt 1-mal geändert.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

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

Re: [BUG] htmlentities … invalid multibyte sequence

Beitrag von homtata » Di 22. Jul 2014, 15:27

also falls du noch mit der 4.9.0 arbeitest - bitte dringend erstmal updaten, denn diese version hatte in dem bereich etliche macken.
bei mir hats dann funktioniert, wenn folgendes zusammenkam:
- die sprache des mandanten ist definitiv auf utf-8 gesetzt (s. Administration, Sprache..)-
- in der config.php, wo auch die DB-Infos stehen, muss zur not händisch utf-8 an einer stelle eingetragen werden :

Code: Alles auswählen

'charset'  => 'utf8',
sind die einträge bei dir entsprechend gesetzt?

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [BUG] htmlentities … invalid multibyte sequence

Beitrag von rethus » Di 22. Jul 2014, 15:46

Hab die 4.9.2 am Start.
In /data/config/live/config.php ist unten bei DB folgendes drin:
'charset' => 'utf8', // (string) The charset of connection to database
Auch die Sprachen sind alle mit utf-8 konfiguriert.

Erstaunlich ist, auch wenn ich in der besagten Funktion $encoding fest auf UTF-8 setze, kommt die gleiche Fehlermeldung.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

dominik.ziegler
Beiträge: 437
Registriert: Do 19. Jun 2008, 09:09

Re: [BUG] htmlentities … invalid multibyte sequence

Beitrag von dominik.ziegler » Di 22. Jul 2014, 18:22

Tritt der Fehler bei allen Content-Bereichen mit Texten jeglicher Art auf oder nur in einem bestimmten Content-Typen bzw. mit einem bestimmten Text? Hast du bereits versucht, nur den Text "Test" zu speichern?
Viele Grüße
Dominik

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [BUG] htmlentities … invalid multibyte sequence

Beitrag von rethus » Mi 23. Jul 2014, 19:37

Gleiches Problem bzw. gleiche Ursache gerade auch bei der Validierung der Module festgestellt. (siehe http://forum.contenido.org/viewtopic.php?f=92&t=35182).

Ich wundere mich, das obwohl alles auf UTF-8 gestellt ist, dennoch die Textareas iso-8859-1 zu senden scheinen. Ich habe sogar versucht in der htaccess im DocumentRoot und Contenido-Verzeichnis UTF-8 mit folgenden Befehl zu erzwingen:
AddDefaultCharset UTF-8
Erfolglos.

Dort scheint ein ngix-Webserver zu laufen. Sind da Probleme bekannt in Verbindung mit htmlentities?
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

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

Re: [BUG] htmlentities … invalid multibyte sequence

Beitrag von homtata » Mi 23. Jul 2014, 20:45

Noch ein Gedanke:
Ich hatte für ein Projekt türkische Sprache umzusetzen. Das geht nicht, solange nur die TABELLE in utf-8 ist. Es müssen in gewissen Tabellen schon auch die SPALTEN auf utf-8 umgestellt werden (von iso-irgendwas), sonst kommen die Sonderzeichen nie korrekt an. Liegt es vielleicht daran?
Und bitte wirklich erstmal auf 4.9.3 updaten - die 4.9.2 war in etlichen Bereichen noch wirklich buggy, und es würde mich nicht wundern, wenn einige Probleme durch das Update behoben sind.

Antworten