Jan K.: Einmal wieder Fragen zu UTF-8

Hallo Zusammen,

ich hoffe mein einige Tage zurückliegender Post wird diesen nicht als doppelposting bewerten.

Seit einiger Zeit knabber ich jetzt schon an dem Problem, diese Seite http://12monkeys.dyndns.org/nano/index.php zweisprachig in deutsch und polnisch zu gestalten.

Mein editor (Crimson Editor) kann Dokumente als UTF-8 mit BOM und ohne BOM speichern. Kann mir jemand erklären was es damit auf sich hat, oder inwiefern es relevant für die darstellung im browser ist?

Nun habe ich meine index.php als UTF-8 dokument abgespeichert, mit dem ergebnis, daß äöü usw. In andere Zeichen kodiert werden. Das soll denk ich mal auch so sein. Im Header hab ich dann noch Charset UTF-8 vermerkt und probiert das ganze im Browser (firefox/iexplorer) darzustellen. Dieser spuckt mir dann aber die selben kodierten zeichen wie im Quelltext aus. Was hab ich da falsch gemacht?

Und dann hab ich da noch ein Problem mit den polnischen Schriftzeichen. Mein Rohmaterial bekomme ich in solchen Worddokumenten http://12monkeys.dyndns.org/pics/opisypopolsku.doc geliefert. Der editor kann diese Zeichen aber nicht darstellen und deshalb kann ich die polnischen texte noch nicht einarbeiten. Kann mir da jemand auch einen Tip geben?

Gruß,

Jan

  1. Hallo Jan,

    ich hoffe mein einige Tage zurückliegender Post wird diesen nicht als doppelposting bewerten.

    Wenn ein Thread im Archiv verschwunden ist und du hast noch Fragen oder Anmerkungen dazu, darfst du nicht nur, sondern dann solltest du sogar mit einem neuen Posting daran anknüpfen, sprich das alte Posting aus dem Archiv verlinken:

    http://forum.de.selfhtml.org/archiv/2006/6/t130753/#m845426

    Gruß Gernot

    1. Der Http-Header auf meinem Server http://12monkeys.dyndns.org/nano/index1.php scheint sich dem dokumenttyp anzupassen. Eine ASCII Datei mit dem Html-Head ISO-8859-1 gibt sich bei moziallas seiteninformationen auch so aus.

      Ein utf-8 dokument mit einem utf-8 html-head gibt sich bei moziallas seiteninformationen auch als utf-8 aus.

      Bei meinem Webspace http://www.nano-nfc.de sieht das anders aus. Egal ob ISO-8859-1 oder utf-8 dokument mit den entsprechenden headern -es wird immer ISO-8859-1 angegeben.

      Das hat zur Folge, daß das utf-8 dokument die sonderzeichen kodiert wiedergibt.

      Soweit sogut. Auf den Tip hin die php funktion header() zu verwenden habe ich im php manual dazu gestöbert. Und bin auf ein sehr demotivierendes manual http://www.faqs.org/rfcs/rfc2616 gestoßen. Die eizige für mich verwendbare information aus dem php manual war:
      header("Content-type: text/css; charset=UTF-8");

      Das in meine index.php eingebunden verursacht aber, daß der quelltext direkt im Browswer angezeigt wird, bzw. sogar zum download einer .php datei aufgefordert wird.

      Mich graust es vor dem Gedanken das rfc2616 manual durcharbeiten zu müssen.

      Kann mir jemand sagen, wie ich die header() funktion einbinden muss, oder mir zumindest einen heißen tip geben?

      Gruß,

      Jan

      1. Arrrrr

        mein Fehler.

        header("Content-type: text/css; charset=UTF-8");

        Kann ja auch nicht funktionieren.

        header("Content-type: text/html; charset=UTF-8");

        So gehts. Danke nochma für eure Hilfe.

        Gruß,

        Jan

  2. Hello out there!

    Mein editor (Crimson Editor) kann Dokumente als UTF-8 mit BOM und ohne BOM speichern. Kann mir jemand erklären was es damit auf sich hat, oder inwiefern es relevant für die darstellung im browser ist?

    Wikipedia kann: Byte Order Mark.

    UTF-8-codierte HTML-/PHP-Dateien solltest du ohne BOM speichern.

    Nun habe ich meine index.php als UTF-8 dokument abgespeichert, mit dem ergebnis, daß äöü usw. In andere Zeichen kodiert werden. Das soll denk ich mal auch so sein.

    ?? Nein, das soll nicht so sein.

    Im Header hab ich dann noch Charset UTF-8 vermerkt und probiert das ganze im Browser (firefox/iexplorer) darzustellen. Dieser spuckt mir dann aber die selben kodierten zeichen wie im Quelltext aus. Was hab ich da falsch gemacht?

    Was meinst du mit „Header“? Das _head_-Element (ohne „er“)?

    Das ist nur beim Aufruf übers lokale Dateisystem wirksam und übers Web, wenn der Server keine Zeichencodierungsangabe im HTTP-_Header_ (mit „er“) sendet, wie dir mehrfach in deinem alten Thread gesagt wurde.

    Ohne einen Link zu deiner polnischen Seite bleibt meine Glaskugel trübe.

    Und dann hab ich da noch ein Problem mit den polnischen Schriftzeichen. Mein Rohmaterial bekomme ich in solchen Worddokumenten […] geliefert. Der editor kann diese Zeichen aber nicht darstellen und deshalb kann ich die polnischen texte noch nicht einarbeiten. Kann mir da jemand auch einen Tip geben?

    Benutze einen Unicode-fähigen Editor.

    Alternativ: Speicher dein Word-Dokument als HTML. Du benutzt vom Ergebnis natürlich nicht den Müll, den Word für HTML hält, sondern nur deinen Text. Word wandelt nämlich die Nicht-ASCII-Zeichen in Entity-Referenzen oder numerische Zeichenreferenzen um (dummerweise dezimal statt hexadezimal, aber egal): aus
      Myślę, więc jestem.
    wird
      Myślę, więc jestem.

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. Arrrrrr

      danke, daß war sehr aufschlußreich. Der Crimson Editor scheint also nur bedingt für UTF-8 geeignet zu sein. Mir ist auch grad bei ein paar experimenten aufgefallen, das er erstmal alle öüä`s entfernt wenn ich ein ASCII dokument als UTF-8 abspeichere. Das mit der kodierung der zeichen (wie es nicht sein soll) hat anscheinend was mit dem im porgramm implementierten ftp modul zu tun. Ausserdem stellt er wie gesagt keine polnischen zeichen da. Beknackter Editor!

      Kann mir an dieser Stelle jemand einen Freeware editor empfehlen?
      Habe mich u.a. an so praktische Sachen wie einfärbung von html-schlüsselworten gewöhnt. Notepad muss es nicht sein.

      Jetzt hab ich auch den Unterschied zwischen HTML-Head(Kopf in der Html datei) und dem HTML-Header(irgendwas was der Server sendet) kapiert. Wie kann ich nun den HTML-Header auslesen bzw. ändern?

      http://www.nano-nfc.de Auf dem Webspace wird die Page mal liegen, and deren Serverkonfiguration kann ich, denk ich mal, nichts ändern.

      http://12monkeys.dyndns.org/nano/index.php das ist mein Server Zuhause, hier kann ich auch die Serverkonfiguration ändern
      (läuft kein Apache drauf sondern KfWeb).

      Grüße,

      Jan

      1. Hallo Jan.

        Kann mir an dieser Stelle jemand einen Freeware editor empfehlen?
        Habe mich u.a. an so praktische Sachen wie einfärbung von html-schlüsselworten gewöhnt. Notepad muss es nicht sein.

        Dabei sieht man mit dem Zweiten doch bekanntlich besser …

        Einen schönen Samstag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]
      2. gudn tach!

        Kann mir an dieser Stelle jemand einen Freeware editor empfehlen?
        Habe mich u.a. an so praktische Sachen wie einfärbung von html-schlüsselworten gewöhnt. Notepad muss es nicht sein.

        den vergleich in der wikipedia finde ich zwar nicht soo toll, aber zumindest bietet er bzgl. einiger eigenschaften schon mal eine gute uebersicht.

        mein lieblingseditor ist vim. der ist fuer die meisten grossen betriebssysteme verfuegbar, kostenfrei, open-source, ziemlich frei modifizier, unterstuetzt gaengige dateiformate/zeichen-codierungen, bietet syntax-highlighting fuer die meisten sprachen, kann auch als benutzer ohne admin-rechte installiert/ausgefuehrt werden. seine bedienung ist sehr gewoehnungsbeduerftig, aber, wenn man sie mal halbwegs durchdrungen hat, genial und schnell.

        prost
        seth

        1. Hallo seth.

          [vim]

          seine bedienung ist sehr gewoehnungsbeduerftig, aber, wenn man sie mal halbwegs durchdrungen hat, genial und schnell.

          Vorzugsweise aber nur mit einem englischen Tastaturlayout.

          Einen schönen Samstag noch.

          Gruß, Ashura

          --
          sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
          „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
          [HTML Design Constraints: Logical Markup]
          1. gudn tach!

            seine bedienung ist sehr gewoehnungsbeduerftig, aber, wenn man sie mal halbwegs durchdrungen hat, genial und schnell.

            Vorzugsweise aber nur mit einem englischen Tastaturlayout.

            das gilt imho auch fuer die anderen editoren.

            prost
            seth

      3. Hello out there!

        Der Crimson Editor scheint also nur bedingt für UTF-8 geeignet zu sein.

        Das gibt’s nicht; genauso wenig wie „ein bisschen schwanger“. Er mag nicht für Unicode geeignet sein.

        Das ist mein Textpad auch nicht; er arbeitet mit einer Palette von 256 Zeichen (der Vergleich mit GIF ist durchaus angebracht), kann diese aber in UTF-8 codiert abspeichern.

        Zwischen „Unicode“ und „UTF-8“ ist sorgsam zu unterscheiden (wie zwischen „Zeichensatz“ und „Zeichencodierung“), auch wenn das vielerorts falsch gebraucht wird (auch in Programm-Menüs, auch in SELFHTML).

        Jetzt hab ich auch den Unterschied zwischen HTML-Head(Kopf in der Html datei) und dem HTML-Header(irgendwas was der Server sendet) kapiert.

        Hm, nicht so voreilig; es gibt keinen HTML-Header. Aber einen HTTP-Header.

        HTML = hypertext markup language
        HTTP = hypertext transfer protocoll

        Wie kann ich nun den [HTTP-Header] auslesen bzw. ändern?

        Auslesen: rechte Maustaste > Seiteninformation anzeigen (Firefox, ...?). Oder Firefox-Erweiterung LiveHTTPHeaders.

        Ändern: Ich darf dich nochmals an deinen alten Thread erinnern? Dort hatte ich dir die Möglichkeit mit .htaccess genannt, auch wenn’s beim ersten Mal schiefging.

        Eine andere Möglichkeit wäre mit PHP: header().

        See ya up the road,
        Gunnar

        --
        “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)