thomas: Problem mit russischer Übersetzung (Entities)

Hallo Leute,

ich bin gerade dabei, eine englische Seite in's Russische übersetzen zu lassen. Dazu schicke ich die Dateien nach Moskau, die überschreiben sie, und ich bekomme die russischen html-Seiten wieder zurück.

Die meta Zeile im head habe ich in ISO 8859-5 für kyrillisch geändert:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-5">

Dennoch sehe ich, wenn ich die Dateien wiederbekomme, nur Entitites anstatt korrekter Zeichen. Außerdem sind plötzlich überall <span>Tags und neue CSS-classes im Quelltext, die vorher nicht da waren.

----------------
<td class="text" style='padding:.75pt .75pt .75pt .75pt'>                          &#1043;&#1080;&#1073;&#1082;&#1086;&#1077;, &#1084;&#1086;&#1076;&#1091;&#1083;&#1100;&#1085;&#1086;&#1077; &#1080;&#1089;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1080;&#1077</td></tr>
----------------

Machen die nun in Russland irgendwas falsch oder habe ich die Seiten falsch kodiert? (Wir arbeiten beide mit Dreamweaver MX)

Gruß,
Tom

  1. Moin!

    Die meta Zeile im head habe ich in ISO 8859-5 für kyrillisch geändert:
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-5">

    Tja, sowas kann helfen - muß aber nicht.

    Dennoch sehe ich, wenn ich die Dateien wiederbekomme, nur Entitites anstatt korrekter Zeichen. Außerdem sind plötzlich überall <span>Tags und neue CSS-classes im Quelltext, die vorher nicht da waren.

    Die neuen CSS-Angaben sind mit Sicherheit die Schuld vom Dreamweaver.

    Und die Entities funktionieren mit jeder Zeichensatzangabe, da bräuchtest du also nicht auf 8859-5 umzustellen. Das betrifft nämlich nur die Interpretation des direkten Bytecodes.

    Machen die nun in Russland irgendwas falsch oder habe ich die Seiten falsch kodiert? (Wir arbeiten beide mit Dreamweaver MX)

    Nein, alles ist richtig. Auf eine gewisse Art.

    Du kannst dir natürlich auch einen Unicode-fähigen Editor nehmen und die russischen Zeichen zurückwandeln - und dann als UTF-8 abspeichern, oder meinetwegen auch als ISO-8859-5. Dann sparst du dir die Bytes für die Entities, und die Seite wird textmäßig 5mal kleiner.

    Andererseits: Solange das funktioniert, was du kriegst, warum ändern?

    - Sven Rautenberg

    --
    Among the maxims on Lord Naoshige's wall, there was this one: "Matters of great concern should be treated lightly."
    Master Ittei commented, "Matters of small concern should be treated seriously."
    (Hagakure: The Way of the Samurai)
    1. Und die Entities funktionieren mit jeder Zeichensatzangabe, da bräuchtest du also nicht auf 8859-5 umzustellen. Das betrifft nämlich nur die Interpretation des direkten Bytecodes.

      Andererseits: Solange das funktioniert, was du kriegst, warum ändern?

      Hhm, wenn das so ist...ich war mir nur nicht sicher, ob das auch wirklich jeder korrekt sieht, wenn alles nur aus Entitites besteht...
      Es ist halt nicht die sauberste Lösung und das gefällt mir nocht so ;-) Aber woher kommen die Entitites eigentlich? Die Russen geben doch normale Zeichen auf ihrer Tastatur ein, oder?

      Was ist eigentlich der Unterschied zwischen ISO und UTF?
      Was ist so ein Unicode-fähiger Editor?

      Tom

      1. Hallo,

        Es ist halt nicht die sauberste Lösung und das gefällt mir nocht so ;-)

        Naja, ich weiss nicht, was Du unter "sauber" verstehst.
        Es ist zumindest technisch gesehen korrekt, und es
        funktioniert unabhaengig von der Charset-Angabe.

        Aber woher kommen die Entitites eigentlich? Die Russen geben doch normale Zeichen auf ihrer Tastatur ein, oder?

        Wenn Du ein "ä" eintippst, was macht Dein Dreamweaver daraus?
        Siehst Du, schon haben wir den Uebeltaeter...

        Was ist eigentlich der Unterschied zwischen ISO und UTF?

        Stark vereinfacht:

        Bei den ISO-8859-x Charsets hast Du nur "255" Zeichen (eigentlich noch weniger).
        Allen diesen Zeichensaetzen gemeinsam sind die ASCII Zeichen 32-127.
        Speziell sind jeweils nur die Zeichen 160-255.

        In Unicode sind "alle Zeichen dieser Welt" enthalten (naja, fast...),
        dafuer mit groesseren "Nummern".

        http://selfhtml.teamone.de/inter/zeichensaetze.htm
        http://selfhtml.teamone.de/inter/unicode.htm

        http://www.dodabo.de/charset/
        http://www.cs.tut.fi/~jkorpela/html/chars.html
        http://www.unicode.org/

        Speziell fuer Russisch/Kyrillisch gibt es auch noch KOI8-R,
        das offenbar von vielen Browsern gut unterstuetzt wird
        (evtl. sogar besser als Unicode):
        http://koi8.pp.ru/

        HTH, Gruesse,

        Thomas

        --
        Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
        Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
        Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
        1. Naja, ich weiss nicht, was Du unter "sauber" verstehst.
          Es ist zumindest technisch gesehen korrekt, und es
          funktioniert unabhaengig von der Charset-Angabe.

          Ich meine, der Code wächst ja dadurch unnötig an...

          Wenn Du ein "ä" eintippst, was macht Dein Dreamweaver daraus?
          Siehst Du, schon haben wir den Uebeltaeter...

          ok, aber wenn ich ein "a" eintippe, sehe ich doch auch ein "a" im Quelltext und kein Entity..(?) oder gilt das nur für alle "nicht-ASCII" Zeichen?

          Also wenn technisch nichts dagegen spricht, alles in Entitites zu lassen, soll es mir natürlich recht sein, Hauptsache jeder bekommt die richtige Darstellung.

          Gruß,
          Tom

          1. Hallo,

            Ich meine, der Code wächst ja dadurch unnötig an...

            Das stimmt natuerlich.
            Ob das "tragisch" ist, haengt u.a. auch davon ab,
            wieviel "reinen Text" ihr pro Dokument habt und
            wie gross die Dokumente als ganzes sind.
            Bei kleinen Dokumenten ist es IMHO nicht so tragisch,
            bei grossen Dokumenten wuerde ich mir schon eher
            Gedanken machen.

            Beispiel 1 - kleines Dokument:
            HTML (Grundgeruest, Tags) 5'000 Bytes
            Eigentlicher Text 2'000 vs. 14'000 Bytes
            Total 7'000 vs. 20'000 Bytes
            => IMHO kein Problem.

            Beispiel 2 - grosses Dokument:
            HTML (Grundgeruest, Tags) 6'000 Bytes
            Eigentlicher Text 20'000 vs. 140'000 Bytes
            Total 26'000 vs. 146'000 Bytes
            => fuer langsame Leitungen eine Geduldsprobe... ;-)

            »» ok, aber wenn ich ein "a" eintippe, sehe ich doch auch ein "a" im Quelltext und kein Entity..(?) oder gilt das nur für alle "nicht-ASCII" Zeichen?

            Genau.
            Die Zeichen a-z, A-Z und 0-9 sind in ASCII (32 - 127) enthalten und sind
            somit "sicher". Dreamweaver verzichtet darauf, sie in Entities umzuwandeln.

            Die Zeichen jenseits von 127 sind eben vom Zeichensatz abhaengig
            und somit potentiell "unsicher", es sei denn, man konvertiert sie in
            die Entities, die ja wiederum mit reinen ASCII-Zeichen abgebildet
            werden koennen. Dreamweaver konvertiert AFAIK alle Zeichen
            jenseits von 127, sowie gewisse andere Zeichen (wie <,>,")
            automatisch in Entities.

            Wenn alle "Beteiligten", d.h. die Betriebssysteme (Autoren-Rechner, Webserver, Betrachter),
            HTML-Editor, FTP-Client, FTP-Server, Webserver und Browser sich korrekt verhalten, und
            wenn die Charset-Angabe immer korrekt weitergegeben wird, _dann_ koennen die
            Sonderzeichen (z.B. kyrillische Buchstaben) auch uncodiert im Quelltext stehen.

            Welche HTML-Editoren mit Unicode bzw. mit Kyrillisch-/Russisch-Zeichensaetezen
            (ISO-8859-5, KOI8-R, windows-1251) klarkommen, weiss ich leider nicht.
            Bisher reichte mir ISO-8859-1 aus, da ich nur Seiten in westeuropaeischen
            Sprachen bearbeitet habe... ;-)

            Also wenn technisch nichts dagegen spricht, alles in Entitites zu lassen, soll es mir natürlich recht sein, Hauptsache jeder bekommt die richtige Darstellung.

            Wie gesagt, das einzige Argument _gegen_ die Entities ist IMHO die Ladezeit.
            Und vielleicht noch die "Schoenheit" bzw. "Haesslichkeit" des Quelltexts.

            Wobei die Ladezeit auch durch andere Massnahmen (z.B. komprimierter Datenverkehr
            zwischen Webserver und Browser) z.T. deutlich reduziert werden kann.

            Gruesse,

            Thomas

            1. Wie gesagt, das einzige Argument _gegen_ die Entities ist IMHO die Ladezeit.
              Und vielleicht noch die "Schoenheit" bzw. "Haesslichkeit" des Quelltexts.

              Hhm..sehr interessant...Danke mal auf jeden Fall für die Infos!
              Falls es Dich interessier, hier ist eine Testseite:

              http://www.prinzing-gmbh.de/russisch/lieferprogramm.html

              Größe der Seite = 56kB (ohne Bilder)

              Tom

              1. Hallo,

                Falls es Dich interessier, hier ist eine Testseite:
                http://www.prinzing-gmbh.de/russisch/lieferprogramm.html => </faq/#Q-19>
                Größe der Seite = 56kB (ohne Bilder)

                Danke.

                Laut Ladezeit-Check von webmasterplan sind es ca. 180 kB inklusive Bilder.
                http://de.webmasterplan.com/cgi-local/router.cgi?l=de&p=wmpde&s=opt_load

                Der russische Text ist fuer mich unlesbar.
                Und nein, nicht wegen dem kyrillischen Alphabet ;-),
                sondern wegen der winzigen Schrift und der
                Farbkombination Dunkelgrau auf Dunkelblau...

                Ich habe den eigentlichen russischen Text mal mit Copy-Paste
                in einen Editor uebernommen und gespeichert.
                Es sind ca. 2500 Buchstaben, d.h. 2.5 kB uncodiert bzw. 16 kB als Entities.

                Also, wenn Ladezeiten und Traffic Euch ein wirkliches Anliegen sind,
                dann gibt es viele andere Dinge, die man verbessern koennte.

                • Navigation als Text, nicht als Bilder von Text
                • JavaScript abschaffen oder zumindest auslagern
                • u.s.w.
                  Die paar Entities sind da IMHO das kleinste Problem.

                Freundliche Gruesse,

                Thomas

        2. Hallo Thomas,
          was gibt es zu beachten wenn man unterschiedliche Zeichensätze per Webformular in eine MySQL DB schreibt ?
          Was muss man bei der Ausgabe beachten (Header usw.) ?
          Hab nämliche eine Anfrage für ein mehrsprachiges CMS, unter anderem auch mit asiatischem Zeichensatz.

          Bin für jeden Tipp oder Link dankbar.

          Beste Grüße
          Marcel

          1. Hallo,

            was gibt es zu beachten wenn man unterschiedliche Zeichensätze per Webformular in eine MySQL DB schreibt ?

            Sobald Formulare ins Spiel kommen, wird es so richtig kompliziert...
            Ein paar Infos dazu hat Alan J. Flavell:
            http://ppewww.ph.gla.ac.uk/~flavell/charset/form-i18n.html

            Hab nämliche eine Anfrage für ein mehrsprachiges CMS, unter anderem auch mit asiatischem Zeichensatz.

            Da kann ich (mangels Kenntnissen) nur sagen: Viel Glueck!

            mfg, Thomas