Matt Renzi: koir-8 / Russisch

Hi, bin langsam am verzweifeln.

Ich habe eine russische Seite programmiert und auch auf einem deutschen Server getestet. Jetzt habe ich sie auf einer russischen Server verlegt, mit dem Resultat das der Text nicht mehr richtig angezeigt wird und mir das Design zerhauen wird. ich habe alle gängigen meta Tags ausprobiert. habe auch verschiedene upload Varianten versucht ASCII oder binär. alles ohne Erfolg.

www.mrhochquadrat.com/html/index_1.html    ----testserver
www.okay.germany.ru/index_1.html                  ----hier soll die Seite funktionieren

hoffe ihr könnt mir helfen.

ich bin für jeden hinweiß dankbar
matt

  1. Moin!

    www.mrhochquadrat.com/html/index_1.html    ----testserver
    www.okay.germany.ru/index_1.html                  ----hier soll die Seite funktionieren

    Du hast ein ganz heftiges Zeichensatzproblem.

    Die funktionierende Seite hat die UTF-8-Byte-Order-Mark am Anfang, also sollte man UTF-8 erwarten - dies widerspricht deine Meta-Angabe koir-8. Der W3C-Validator meckert (nebenbei bemerkt noch über reichhaltigste HTML-Fehler - die sollten besser noch weggemacht werden).

    Die nicht-funktioniernde Seite sendet als Zeichensatz im HTTP-Header "koir-8", du gibst als Zeichensatz im Meta aber UTF-8 an.

    Dass hier Browser durcheinander kommen, bzw. eben gerade NICHT durcheinander kommen (die HTTP-Header-Angabe hat Vorrang vor der Meta-Angabe), ist irgendwie klar.

    Außerdem sind die beiden Seiten unterschiedlich - sie enthalten nicht die gleichen Zeichenbytes dort, wo es auf die Buchstaben des Seitentextes ankommt. Offenbar ein Konvertierungsfehler. Für das Hochladen mit FTP empfehle ich den binären Modus, der läßt alle Zeichen hundertprozentig intakt. Der ASCII-Modus ändert die Zeilenende-Kennzeichen um - das willst du bei HTML nicht, es ist uninteressant für die Browser.

    Einige dich auf EINEN Zeichensatz. Vorzugsweise nimmst du UTF-8, denn damit hast du, auch was die Verarbeitung von Formularen angeht, am wenigsten Probleme. UTF-8 erfordert natürlich einen entsprechenden Editor, der das auch speichern kann. Und er sollte insbesondere diese Byte-Order-Mark weglassen, die stört aktuell eher mehr, als dass sie hilft.

    - Sven Rautenberg

    1. Moin!

      www.mrhochquadrat.com/html/index_1.html    ----testserver
      www.okay.germany.ru/index_1.html                  ----hier soll die Seite funktionieren

      Du hast ein ganz heftiges Zeichensatzproblem.

      hi sven
      und danke für dein bemühen. habe den meta tag koir-8 auf dem germany.ru server schon getestet mit änlichen ergebniss. ich verstehe aber immer noch nicht, warum es mit dem tag koir-8 bei anderen seiten auf germany.ru server funktioniert und bei mir nicht.

      1. Moin!

        und danke für dein bemühen. habe den meta tag koir-8 auf dem germany.ru server schon getestet mit änlichen ergebniss. ich verstehe aber immer noch nicht, warum es mit dem tag koir-8 bei anderen seiten auf germany.ru server funktioniert und bei mir nicht.

        Wie ich schon sagte: Die Bytes, die bei dir die russischen Buchstaben sind, sind bei funktionierender und falscher Seite unterschiedlich. Offenbar hat da irgendwas dran rumgeändert.

        Und nochmal: Verwende UTF-8. Damit hast du wesentlich weniger Probleme.

        - Sven Rautenberg

      2. Hallo Matt,

        Du musst Dir darueber im klaren sein, dass der Browser auf drei Wegen von deiner Codierung erfaehrt:

        • dem Zeichensatz, den der Server sendet (was man in PHP z.B. durch header() beinflussen kann)
        • bei XHTML evtl. durch die XML Zeichenangabe in der ersten Zeile
        • durch den entsprechenden Metatag

        Idealerweise sollten diese identisch sein, sonst verwirrt das den Browser.

        Dieter