Page 1 of 1

Seltsames Verhalten bezüglich Umlauten

Posted: Sun 25. Mar 2007, 01:18
by Olli_another_one
Hallo,
erstmal vorweg - ich hoffe nicht das das eines der üblichen Charsetprobleme ist.
Folgendes Problem:
Ich es gibt interne Verlinkungen mit [ID XX]text[/ID].
Diese sind unter
http://www.architekt-zache.de/cms/1.0.0.1.0.0.phtml ( die 3 Links ) zu sehen.
Im WYSIWYG Editor werden diese encodet (in HTML Entities ) was man bei der Quellcodeansicht auch sieht. Bei der Ausgabe vom CMS an den Browser werden diese aber leider irgendwie in iso-8859-1 ausgegeben und von den HTML Entities ist nichts zu sehen.

Ich weiss jetzt nicht ob beide Probleme zusammengehören aber ich habe ein ähnliches Problem bei einem Artikelmenü. Bei diesem wird der Schlagtext des betreffenden Artikels nicht mit dem richtigen Charset angezeigt. Schaut man sich aber den betreffenden Artikel an ist die Ausgabe des Schlagtextes wiederum in Ordnung.

In meiner Config hat sich bezüglich des Charsets nicht geaendert - in 1.2.8 war das DB Charset auf utf-8 wie auch die kollation und auch das Webseitencharset ist auf utf-8 ... nach dem Update auf 1.3.0 ist das auch alles gleich geblieben.

Kann jemand dieses Verhalten erklären - mache ich etwas falsch oder ist da irgendwo ein Bug?

Danke für eure Hilfe im Vorraus - ich hoffe wie gesagt das es nicht mein Fehler ist.
Olli

Posted: Sun 25. Mar 2007, 09:04
by Oliver Georgi
Wie sieht es denn aus, wenn Du den ID Link mal wegmachst? Sind diese Fehler dann auch da?

Oliver

Posted: Sun 25. Mar 2007, 12:31
by Olli_another_one
Wie man es auf der Seite sehen kann - die oberen 3 Links sind mit ID und Geschäftsführer untendrunter ist einfach so mit dem Editor hinterlegt wurden als Beispiel.

Posted: Sun 25. Mar 2007, 12:45
by Oliver Georgi
Für mich sieht das aus, als ob bei einem Update von phpwcms einige Einstellungen falsch gelaufen sind. Prüfe mal gegen. An sich ist alles richtig, und auch wieder nicht.

Denn schaut man sich den Quellcode an, so ist das wieder genau anders herum...

Oliver

Posted: Sun 25. Mar 2007, 13:59
by Olli_another_one
In der Datenbank sieht für diesen Artikel das ganze so aus:

Code: Select all

<p>[ID 2]B&uuml;ro[/ID]<br />
<br />
[ID 3]Mitarbeiter[/ID] <br />
<br />
[ID 23]Gesch&auml;ftsf&uuml;hrer[/ID]</p>
<p>Gesch&auml;ftsf&uuml;hrer</p>
Ich weiss jetzt Leider nicht wo ich nachschauen kann.
Ich schieb jetzt nochmal das lib Verzeichniss auf den Server.
Das aber nur als Vorsichtsmaßnahme.
Ich habe das jetzt bei einem anderen geupdateten PHPWCMS probiert und es verhält sich genauso.

Eine Neuinstallation habe ich auch probiert wobei es bei der nicht so ist, aber nur weil in den metatags der Standardzeichensatz auf iso-8859-15 gestellt ist. Nachdem im FF ein anderes Charset gewählt wurde passiert das gleiche.

Posted: Sun 25. Mar 2007, 14:27
by Oliver Georgi
du kannst im laufenden Betrieb den Charset nicht wechseln. Das geht zwangsläufig in die Hose.

Ich vermute, dass Du das Update auf eine ISO-Charset Installation angewendet hast und dabei auf UTF-8 gewechselt bist.

Oliver

Posted: Sun 25. Mar 2007, 14:52
by Olli_another_one
Nunja das habe ich aber überprüft - In der Config aus dem Backup ist alles auf utf-8 gestellt.
Bei dem Update kann man ja so viel nicht falsch machen oder irre ich da?
Prinzipiell müsste es in dem Falle aber so sein, dass wenn ich denn Artikel jetzt speichere, die ganze Angelegenheit funktionieren müsste.
Was macht phpwcms intern wenn der Inhalt ( Codeauszug aus meinem letzten Posting ) aus der Datenbank geholt wird? Also die Umlaute liegen doch da als HTML Entities in der DB - diese werden doch nach dem fetchen irgendwie umgewandelt vermute ich mal. An welcher Stelle müsste ich da nachschauen im Quellcode?

Nachtrag:
Ich habe das jetzt auch bei zwei frischen Installationen probiert - eine läuft mit mit folgenden Parametern

Code: Select all

$phpwcms['db_charset']        = 'utf8';
$phpwcms['db_collation']      = 'utf8_general_ci';
$phpwcms['db_version']        = 40119;
$phpwcms['charset']           = 'utf-8';
und die andere mit

Code: Select all

$phpwcms['db_charset']        = 'utf8';
$phpwcms['db_collation']      = 'utf8_general_ci';
$phpwcms['db_version']        = 40023;
$phpwcms['charset']           = 'utf-8';
Beide zeigen oben erwähntes Verhalten.

Posted: Sun 25. Mar 2007, 16:59
by Oliver Georgi
Brenzeliges Problem mit preg_replace und UTF-8 - muss ich in Ruhe schauen. Mit Spaw2 passiert das nicht, da keine HTML Entities...

Ist aber in erster Linie ein Problem von PHP.

Oliver

Posted: Sun 25. Mar 2007, 17:37
by Olli_another_one
Ok thx für deine Mühe.
Soll ich nen Bugreport aufmachen?

Posted: Sun 25. Mar 2007, 17:45
by Oliver Georgi
nein, nicht nötig. Bin dran.

Oliver