CMS - Der Dirigent » Support » Installation

Neue Umfrage | neues Thema | Antworten

Umlaute (teilweise) falsch nach OS Upgrade

« Älteres Thema | Neueres Thema » Thema abonnieren | Thema versenden | Thema drucken

speedysupranet
Geschrieben am: 29. Jul 2010 - 06:59


Member


Gruppe: Validating
Beiträge: 24
Mitgliedsnummer: 2104
Mitglied seit: 10. Jun 2006


Ich habe letztes Wochenende von opensuse 11.0 auf 11.3 upgraded. Dadurch wurde auch PHP vom 5.2-er-Zweig auf den 5.3-er-Zwei upgraded. Alles läuft soweit gut, ausser dass die Umlaute (ö, ä, ü) alle falsch waren. Als Workaround habe ich in der php.ini default_charset = "utf-8" eingetragen. Somit sind zumindest die Texte richtig. Leider trifft das nicht auf die in Dedi installierten Navigationsmenüs zu. Da sind die Umlaute falsch. Im Backend-Bereich von dedi sind die dann aber wieder richtig.

Ich habe das ganze Wochenende nach dem Fehler gesucht, aber nichts gefunden. Hat mir jemand noch einen Tipp, wie ich das beheben kann? Ich setze derzeit die Version 1.0.4 ein. Habe aber gelesen, dass es bereits eine Version 1.0.5 gibt. Kann mir da jemand weiterhelfen? Irgendetwas interpretiert PHP anders seit der Umstellung.

Ich kann mir das nur noch so vorstellen, dass irgendwo der Zeichensatz falsch eingestellt ist und an einem Ort übersetzt das PHP doppelt falsch und es wird richtig dargestellt und an einem anderen Ort wird es falsch übersetzt und es kommt eben falsch.

Meine Aussage stützt sich darauf, dass wenn ich das default_charset = "utf-8" wieder rausnehme, dann ist die Navigation richtig, aber alle Texte und das Backend falsch. Das gleich kann man noch einfacher anschauen, wenn man den Zeichensatz im Browser von utf-8 auf iso und wieder zurück stellt.

Wenn ihr das verkorkste Resultat (Top-Navigation mit DeDi-Modul "Navigation 1.0") sehen wollt, könnt ihr das unter http://www.anomalie.name.

Ansonsten möchte ich DeDi nicht missen. Es ist herrlich einfach gestrickt und man kann tolle Seiten damit bauen.

Gruss
Werner
Top   
speedysupranet
Geschrieben am: 30. Jul 2010 - 10:43


Member


Gruppe: Validating
Beiträge: 24
Mitgliedsnummer: 2104
Mitglied seit: 10. Jun 2006


Hallo miteinander

Hier ein Update:
Ich hatte dasselbe Problem mit einer Shopsoftware. Dort musste mir der Programmierer zwei Module anpassen, da PHP5.3 die Zeichentabellen von MySQL zum Teil anders initialisiert als PHP5.2. Zum Teil wird einfach auf einen anderen Zeichensatz umgeschaltet. Ich glaube, das ist auch das Problem bei DeDi. Ich habe die Instruktion erhalten, wie man im PHP den Zeichsatz vorgeben kann und schaue mal, wo ich das bei DeDi einbauen kann. Wenn jemand die PHP-Dateien kennt, welche die MySQL-Verbindung herstellen, bin ich sehr dankbar. Dann geht es etwas rascher.

Gruss
Werner
Top   
Eppi
Geschrieben am: 30. Jul 2010 - 10:47


.....................noname


Gruppe: Admin
Beiträge: 8077
Mitgliedsnummer: 1
Mitglied seit: 23. Mar 2003


was passiert wenn du in der projekteinstellung den zeichensatz der sprache auf utf-8 umstellst?

--------------------

"Heute ist nicht aller Tage... ich komm wieder, keine Frage!"
Top   
speedysupranet
Geschrieben am: 06. Aug 2010 - 23:00


Member


Gruppe: Validating
Beiträge: 24
Mitgliedsnummer: 2104
Mitglied seit: 10. Jun 2006


Hallo

Habe die Meldung leider erst jetzt gesehen. Ich habe folgendes gemacht:

Ich habe das Problem gelöst. Ich musste in der Datei /backend/external/phplib/db_mysql.inc folgende Zeilen einfügen (Änderungen in rot):

// Check for local connect
if(!$this->PConnect) {
$this->Link_ID=mysql_connect($Host, $User, $Password);
} else {
$this->Link_ID=msql_pconnect($Host, $User, $Password);
}
if ($this->Link_ID) {
mysql_set_charset('latin1',$this->Link_ID);
}
if (!$this->Link_ID) {
$this->halt("connect($Host, $User, $Password) failed.");
return 0;
}

if (!@mysql_select_db($Database,$this->Link_ID)) {
$this->halt("cannot use database ".$Database);
return 0;
}

Zudem musste ich den Zeichensatz im Projekt auf iso-8859-15 umstellen. Jetzt ist alles wieder korrekt.

Gruss
Werner
Top   
speedysupranet
Geschrieben am: 19. Mar 2015 - 22:06


Member


Gruppe: Validating
Beiträge: 24
Mitgliedsnummer: 2104
Mitglied seit: 10. Jun 2006


Dank dem tollen Support von Eppi konnten wir gemeinsam den Fehler bezüglich den Umlauten finden und beheben. Es lag am Navigationsmodul Navigation2. Diese hatte eine fixe Zeichencodierung inkludiert, welche diese Fehler verursachte.

Schritt 1: db_mysql.inc auf die originale Version zurückgesetzt
Schritt 2: Projekt auf utf8 umgestellt
Schritt 3: Modul Navigation2 abgeändert

Anbei das korrigierte Modul Navigation2 für PHP5.5 und PHP5.6:
http://www.libersec.li/download/Navigation...-fixed2.dedimod

Gruss
Werner
Top   

Thema wird von 0 Benutzer gelesen (0 Gäste und 0 Anonyme Benutzer)
0 Mitglieder:

4 Antworten seit 29. Jul 2010 - 06:59

Thema abonnieren | Thema versenden | Thema drucken


Neue Umfrage | neues Thema

Home | Das Projekt | Download | Entwicklung | Dokumentation | Forum | Impressum