Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 02. April 2014 13:16

Supertramp
hat von CMS/ms gehört
Registriert: 02. April 2014
Beiträge: 5

UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

Hallo zusammen,

ich habe ein Problem mit dem News-Modul: Der Monat März wird nicht korrekt kodiert und der Umlaut falsch ausgegeben.

Hier im Forum habe ich bereits entsprechende Beiträge von anderen gelesen, diese brachten bei mit aber keine Lösung. Nur wenn ich in der Config das Encoding auf Latin1 anstatt UTF-8 setze wird der Monat März im Newsmodul auch korrekt ausgegeben... der ganze Rest der UTF-8 Website ist dann aber fehlerhaft -> kann also keine Lösung sein.

Der lang-Parameter im News-Modul schein auch schon veraltet zu sein, hat aber so oder so nichts gebracht. Die Angaben in der Config habe ich in allen Varianten ausprobiert, kleines und großes UTF8 mit und ohne Bindestrich, oder direkt mit Punkt getrennt an das Locale drangehangen... nix hat geholfen.

Hat denn sonst niemand das Problem? Es tritt auf meiner Testumgebung mit EasyPHP auf wie auch auf meinem Produktivsystem auf Uberspace.

Tja... bin für jeden Tipp dankbar :-)

PS: Die Datumsfunktion ist im Template so eingebunden: {$entry->postdate|cms_date_format:'%A, %e. %B %Y'}

Beitrag geändert von Supertramp (02. April 2014 13:18)

Offline

#2 02. April 2014 14:14

Henk1060
Server-Pate
Registriert: 12. August 2011
Beiträge: 632

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

Hy diese Problem gibt es öfters.

schon mal das versucht
$config['locale'] = 'de_DE.UTF8';
$config['default_encoding'] = 'utf-8';
$config['admin_encoding'] = 'utf-8';

Was hast du denn HTML template im Header für eine Zeichen Kodierung drinnen?

PS: und Server Cache löschen nicht vergessen

Beitrag geändert von Henk1060 (02. April 2014 14:15)

Offline

#3 02. April 2014 15:53

Supertramp
hat von CMS/ms gehört
Registriert: 02. April 2014
Beiträge: 5

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

Danke für die Tipps.

Die Angaben in $config habe ich schon alle ausprobiert, die einzige Änderung, die ich merke, ist die Umstellung auf engl. Monatsnamen wenn ich "$config['locale'] = 'de_DE.UTF8';" angebe, was ich sehr merkwürdig finde... wie als würde dieser Parameter falsch geschrieben sein und das CMS daher auf die Standardeinstellung umschalten. In den Einstellungen ist die Systemsprache natürlich auch auf Deutsch gestellt.

Den Server-Cache habe ich gelöscht, falls du den unter "Systemwartung" meinst.

Im HTML-Template habe ich folgende Angaben, es ist ein HTML5-Template:

<!DOCTYPE html>
...
<html lang="de">
...
<meta charset="utf-8" />
...

Offline

#4 02. April 2014 18:09

Cherry
arbeitet mit CMS/ms
Registriert: 15. Dezember 2010
Beiträge: 529

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

Supertramp schrieb:

Hat denn sonst niemand das Problem? Es tritt auf meiner Testumgebung mit EasyPHP auf wie auch auf meinem Produktivsystem auf Uberspace.

Doch ... aber auch noch keine Lösung gefunden.

Offline

#5 02. April 2014 18:19

faglork
arbeitet mit CMS/ms
Ort: Fränkische Schweiz
Registriert: 15. Dezember 2010
Beiträge: 1.152
Webseite

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

Supertramp schrieb:

Danke für die Tipps.

Die Angaben in $config habe ich schon alle ausprobiert, die einzige Änderung, die ich merke, ist die Umstellung auf engl. Monatsnamen wenn ich "$config['locale'] = 'de_DE.UTF8';" angebe, was ich sehr merkwürdig finde...

AFAIR könnte das mit der Serverkonfiguration zusammenhängen. Frag mal deinen Hoster, was du da angeben musst - ich kann mich dunkel erinnern dass es da leichte Unterschiede in der Schreibweise geben kann.

Das hört sich sehr nach falschem Parameter an - vermute mal wenn der Parameter falsch gesetzt ist dann nimmt er halt als default englisch.

Ist aber nur ne Vermutung.

Servus,
Alex

Offline

#6 04. April 2014 08:06

Supertramp
hat von CMS/ms gehört
Registriert: 02. April 2014
Beiträge: 5

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

@Cherry: Gutzu wissen, dass ich nicht der einzige bin ;-)

@Alex: Ja, das könnte man vermuten, aber dagegen spricht, dass das Problem auf meinem Provider und auf meinem Testsystem mit EasyPHP auftritt... dennoch könnte die Angabe falsch sein, allerdings: Wenn ich statt UTF8 einfach Latin1 angebe, dann ist im Newsmodul alles korrekt, und dafür der Rest der Website fehlerhaft, da diese in UTF8 kodiert ist.

Gruß,
Gunnar

Offline

#7 04. April 2014 08:50

Supertramp
hat von CMS/ms gehört
Registriert: 02. April 2014
Beiträge: 5

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

Wenn ich im Firefox die Kodierung überprüfe, dann wird mir auch korrekt UTF8 angegeben, ich vermute also, dass der config-Parameter (default_encoding) nicht gesetzt werden muss, da diese Einstellung vom CMS aus den Spracheinstellungen übernommen wird.

Kann es sein, dass die Kodierung im News-Plugin zerschossen oder umgestellt wird? Z.B. auf Latin1?

Offline

#8 04. April 2014 09:00

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

Ich kann das Verhalten 1:1 bestätigen.
Nicht nur bei EasyPHP sondern auch unter WAMP.
(Aber bei mir irgendwie nur unter Windows - unter Mac/Linux hatte ich diese Probleme nie)

Versuch mal folgendes:
- Zurück auf Anfang (die Einstellung bei der zumindest die Webseite korrekt dargestellt wird)
- im News-Template:

{$entry->postdate|cms_date_format:'%A, %e. %B %Y'|utf8_encode}

Das hat bei mir funktioniert.
Die Funktion zum Generieren der Datumsausgabe ist am Ende eine PHP-Funktion.
Und je nach PHP/Server Einstellung liefert diese Funktion keinen UTF-8 kodierten Wert zurück (sondern vermutlich einen ISO kodierten Wert).


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#9 04. April 2014 09:57

Supertramp
hat von CMS/ms gehört
Registriert: 02. April 2014
Beiträge: 5

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

That's it!!

Besten Dank, jetzt funktioniert alles. Bleibt zwar die falsche Kodierung im Backend, aber das ist egal!

Gruß

Offline

#10 04. April 2014 10:49

faglork
arbeitet mit CMS/ms
Ort: Fränkische Schweiz
Registriert: 15. Dezember 2010
Beiträge: 1.152
Webseite

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

NaN schrieb:

Die Funktion zum Generieren der Datumsausgabe ist am Ende eine PHP-Funktion.
Und je nach PHP/Server Einstellung liefert diese Funktion keinen UTF-8 kodierten Wert zurück (sondern vermutlich einen ISO kodierten Wert).

Sag ich doch - Server-Einstellung. Bei mir funzt das mit $config['locale'] = 'de_DE.UTF8';

Was man bei EasyPHP/WAMP konfigurieren muss weiss ich nicht, was das Web angeht: Mal den Hoster fragen.

Servus,
Alex

Offline

#11 06. April 2014 06:27

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

Hab zwar die beiden Server nicht im Einsatz, aber normalerweise sollte der Eintrag

in der php.ini ausreichen (Server Neustart nicht vergessen).

Beim Apachen lässt sich dies alternativ in der apache.conf, der charset.conv oder der httpd.conf einstellen.

Offline

#12 07. April 2014 10:13

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

Hatte ich probiert.
Inklusive .htaccess und httpd.conf.
Das setzt meines Wissens allerdings nur das Encoding für die Ausgabe falls im Header keine Kodierung angegeben ist. Die Ausgabe ist allerdings offenbar nicht das Problem. Denn laut Header ist die Kodierung ja auf UTF-8 gesetzt. Außerdem können alle anderen Umlaute auf der Webseite korrekt dargestellt werden. Außer beim News-Datum.

Daher habe ich außerdem in der config.php noch folgendes probiert:

mb_internal_encoding("UTF-8");
iconv_set_encoding("input_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "UTF-8");
iconv_set_encoding("internal_encoding", "UTF-8");

Hatte bei mir aber letztens alles nicht funktioniert.
Auch zusätzliche Aufrufe wie z.B.

setlocale(LC_ALL, 'de_DE.UTF8', 'de_DE.UTF-8', 'de_DE', 'de_DE@euro', 'de', 'deu_deu', 'ge');

oder

putenv('LANG=de_DE.UTF8');
putenv('LANGUAGE=de_DE.UTF8');

o.ä. vor jeder Datumsausgabe hatten keinen Erfolg.

Wenn ich außerdem hiermit im Template prüfe, welche Kodierung denn nun für das Datum in Frage käme:

{$entry->postdate|cms_date_format:'%A, %e. %B %Y'|mb_detect_encoding}

dann behauptet PHP das Datum sei UTF-8 kodiert.
Dass allein ist aber nicht sehr zuverlässig.

Wenn ich also weiterhin hiermit im Template prüfe, ob das Datum denn nun tatsächlich UTF-8 kodiert ist:

{$entry->postdate|cms_date_format:'%A, %e. %B %Y'|mb_detect_encoding:'UTF-8':true}

dann erhalte ich "false". (bzw. "nichts")
monkey

Prüfe ich anhand einer benutzerdefinierten Reihenfolge, welches Encoding passt:

{$entry->postdate|cms_date_format:'%A, %e. %B %Y'|mb_detect_encoding:'ASCII,UTF-8,CP1252, ISO-8859-1'}

Dann erhalte ich ISO-8859-1.
Aha!
(das erklärt, warum utf8_encode zum Ergebnis führt, weil dafür gemacht von iso nach utf zu konvertieren)

Ich kenne dieses Verhalten nur unter Windows.
Windows + strftime() + UTF-8 = Nada!

Und je nach PHP/Server Einstellung liefert diese Funktion keinen UTF-8 kodierten Wert zurück

Ich bin meiner Meinung nach alle möglichen Kombinationen von Einstellungen durchgegangen. Immer das gleiche: Windows kann kein UTF-8. Das lässt sich leider offenbar doch nicht anders einstellen.

Was mich jetzt interessieren würde, wäre folgendes: läuft bei @Supertramp überhaupt Windows?
Und was heißt das:

Supertramp schrieb:

Bleibt zwar die falsche Kodierung im Backend

Was hast Du denn jetzt in der config.php für $config['locale'] stehen?
(Ich hab in meiner config in Sachen encoding oder locale überhaupt nichts stehen -> klappt trotzdem)


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#13 07. April 2014 10:37

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: UTF-8 bzw. Umlaute-Problem mit News-Modul, neueste Version

Ein reines Windowsproblem ist das nicht. Ich habe das selbe Problem auch auf den Linuxmaschinen meines Hosters. Möglicherweise auch bei mehreren Hostern, habe ich aber nicht geprüft, da ich dem Problem meistens aus dem Weg gehe in dem ich Monate nicht ausschreibe.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline