Page 1 of 1

Seltsames Kodierungsproblem

Posted: Thu Aug 28, 2008 10:09 am
by hhcm
Hallo zusammen,

ich habe ein komisches Problem welches mich zur Verzweiflung treibt.
Es geht um z.B diese Seite.

Im Header und teilweise im Menü erscheinen teilweise alle Umlaute korrekt, manchmal nicht.

Das Problem ist dieses "manchmal". Ich könnte es verstehen wenn es IMMER fehlerhaft dargestellt wird, allerdings kann ich mir keinen reim auf (mal ja mal nein) machen.

Hat irgendjemand einen Tip?

Gruß
Christian

Re: Seltsames Kodierungsproblem

Posted: Thu Aug 28, 2008 10:27 am
by garvinhicking
Hi!

Geht es immer nur um die beiden Umlaute im Header und in der Seitenleiste? Ich würde einfach in der Blogkonfiguration den Bloguntertitel nochmal neu eintragen, und auch in dem HTML Klotz mit dem Impressum den Text nochmal neu einfügen...

Grüße,
Garvin

Posted: Thu Aug 28, 2008 10:47 am
by hhcm
Hallo,

das Problem ist, der Blog kommt von dem Blogdienst 1on.de .. Das ganze mal eben so für 2000 Blogs machen ist etwas kompliziert :wink:

Mich interessiert eher, wie so etwas passieren kann. Und ja, es geht immer nur um den Header und um die Seitenleiste. Die Blogeinträge ansich sin immer i.O.

Das wurmt mich ja gerade.

Posted: Thu Aug 28, 2008 11:01 am
by garvinhicking
Hi!

Wenn Header und erster Seitenklotz von 1on.de vielleicht automatisch per Script vergeben werden, könnte es sein dass deren Script keine korrekte Datenbank-Zeichensatzverbindung aufbaut.

So etwas kann immer dann passieren wenn Skripte oder Aktionen auf die Datenbank zugreifen ohne denselben Zeichensatz zu nutzen der im Blog konfiguriert wurde.

In dem Fall müsste sich der 1on.de Support evtl. mal dazu äussern, wie das ganze von Statten geht.

Viele Grüße,
Garvin

Posted: Thu Aug 28, 2008 11:18 am
by hhcm
Hehe.. Ich bin teil des 1on Supports :oops:

Mir ist einfach nicht klar warum mal ja mal nein.
Vor allem ohne etwas zu ändern. Als wenn bei der Aushandlung des Zeichensatzes bei Los entschieden wird.

Die Scripte die den Blog anlegen verwenden UTF8, der Blog benutzt UTF8, der Apache liefert in UTF8. Scheinbar wird da wirklich gewürfelt.
Ich kann mir das nicht mehr erklären.

//Edit
Was ich noch sagen wollte, das ganze passiert erst nach der Umstellung auf S9y 1.3.1

Was ich nicht ausschliessen will ist ein Fehler im Script, welches die Datenbanken anlegt bzw. Upgedated hat.

Posted: Thu Aug 28, 2008 11:42 am
by garvinhicking
Hi!

Wo bzw. wie setzt ihr denn den HTML Klotz und die Beschreibung ein? Wie ist der Workflow in eurem script?

Bei s9y gibt es (aber schon immer) einen kleinen Bug. Der Installer arbeitet standardmäßig ohne Zeichensätze, also mit ISO-8859-1. Wenn man dort Umlaute in die Felder einträgt, werden die falsch kodiert in der Datenbank gespeichert. Das kann man dann nur beheben indem man nach der Installation den korrekten Titel einträgt. Leider ist das ein sehr tiefgreifendes Problem, bei dem ich mir nicht klar bin wie man es beheben kann.
Scheinbar wird da wirklich gewürfelt.
Computer arbeiten deterministisch. ;) Es muss also schon ein reproduzierbares Verhalten geben, das muss man debuggen.

Viele Grüße,
Garvin

Posted: Thu Aug 28, 2008 2:11 pm
by hhcm
garvinhicking wrote:
Wo bzw. wie setzt ihr denn den HTML Klotz und die Beschreibung ein? Wie ist der Workflow in eurem script?
Die Beschreibung, sowie auch alle anderen Einstellungen, werden mittels eines normalen SQL Befehls in die Userdatenbank eingetragen.

z.B

INSERT INTO $tableName VALUES ('blogTitle', '$blogUserTitle', 0),
('blogDescription', '$blogUserDescription', 0);

Der installer wird komplett übergangen. Wir erstellen auch die /serendipity_config_local.inc.php und die Apache Vhostdatei per Script.

Mein Vorgänger hatte wohl beim erstellen der Tabellen für jedes Textfeld ein "collate utf8_unicode_ci" mit in die Anweisung gepackt. Und die Tabelle mit "ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;" angelegt.

Ob das einen gravierenden Unterschied für s9y macht weiss ich nicht.
garvinhicking wrote: Bei s9y gibt es (aber schon immer) einen kleinen Bug. Der Installer arbeitet standardmäßig ohne Zeichensätze, also mit ISO-8859-1. Wenn man dort Umlaute in die Felder einträgt, werden die falsch kodiert in der Datenbank gespeichert. Das kann man dann nur beheben indem man nach der Installation den korrekten Titel einträgt. Leider ist das ein sehr tiefgreifendes Problem, bei dem ich mir nicht klar bin wie man es beheben kann.
Da wir den installer ja nicht wirklich nutzen, weiss ich nicht ob das relevant ist.
garvinhicking wrote: Computer arbeiten deterministisch. ;) Es muss also schon ein reproduzierbares Verhalten geben, das muss man debuggen.
Wenn dieses verhalten deterministisch ist, dann bin ich der Papst :D
Die Aushandlung des Zeichensatzes muss ja irgendwo explizit festgelegt werden. Scheinbar kann sich irgend ein Script, Daemon oder Browser nicht entscheiden WAS - WIE angezeigt werden soll.

Posted: Thu Aug 28, 2008 4:40 pm
by garvinhicking
Hi!
Die Beschreibung, sowie auch alle anderen Einstellungen, werden mittels eines normalen SQL Befehls in die Userdatenbank eingetragen.
Macht ihr vorher ein "SET NAMES utf8"?

Grüße,
Garvin

Posted: Fri Aug 29, 2008 9:48 am
by hhcm
Ja, das wird gemacht. UTF8 war noch nie mein Freund, und ich merke immer mehr warum nicht.

Posted: Fri Aug 29, 2008 9:55 am
by garvinhicking
Hi!

Hm, dann verstehe ich nicht wirklich, was hier schief laufen sollte. Wenn ihr die s9y konfiguration erzeugt, setzt ihr dann auch den wert der blogs von "charset" auf UTF-8, und aktiviert die dbNames variable?

Grüße,
Garvin