Ingo Siemon: UTF-8

Hallo

Ich habe seit kurzen das Programm Super-HTML 8.0 im Einsatz.

Damit kann ich nun endlich meine Dateien UTF-8 codiert abspeichern.

Bisher habe ich folgendes ein meinen Dateien stehen:

  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">  
  
  <head>  
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />  
...  
  </head>  

Das müsste dann doch dann bei UTF-8 folgendermassen heisse:

  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">  
  
  <head>  
    <meta http-equiv="content-type" content="application/xhtml+xml;charset=utf-8" />  
...  
  </head>  

Ist das soweir richtig?

Und dann muss ich doch noch an den Anfang meiner CSS-Dateien dieses schreiben:
@charset "utf-8";

... und in meine .htaccess dieses:
  AddCharset utf-8 .css .html .xhtml

... und in meine <form>-Tags dieses:
  <form accept-charset="utf-8" method= ...

Ist das soweit alles richtig, wenn ich auf UTF-8 umstellen will?
Oder habe ich da noch was vergessen?

Gruß
Ingo

  1. Hallo Freunde des gehobenen Forumsgenusses,

    Ist das soweit alles richtig, wenn ich auf UTF-8 umstellen will?

    Wenn du UTF-8 verwenden willst musst du nur den Server anweisen, Dokumente als UTF-8 auszuliefern (machst du mit .htaccess) und diese Dokumente in UTF-8 kodieren (lassen). Somit bist du fertig.

    Hast du ausprobiert, ob Umlaute richtig dargestellt werden?

    Gruß
    Alexander Brock

    1. Lieber Alexander Brock

      Wenn du UTF-8 verwenden willst musst du nur den Server anweisen, Dokumente als UTF-8 auszuliefern (machst du mit .htaccess)

      Das mache ich doch mit folgender Angabe in der .htaccess-Datei:
         AddCharset utf-8 .css .html .xhtml
      oder?

      und diese Dokumente in UTF-8 kodieren (lassen).

      Du meinst, die Dokumente UTF-8 codiert mit dem HTML-Editor abspeichern, richtig?

      Hast du ausprobiert, ob Umlaute richtig dargestellt werden?

      Nein, noch nicht.
      Ich wollte erstmal wissen, ob das ales soweit richtig ist,
      wie ich es geschrieben hatte.

      Gruß
      Ingo

      1. Hallo Freunde des gehobenen Forumsgenusses,

        Wenn du UTF-8 verwenden willst musst du nur den Server anweisen, Dokumente als UTF-8 auszuliefern (machst du mit .htaccess)

        Das mache ich doch mit folgender Angabe in der .htaccess-Datei:
           AddCharset utf-8 .css .html .xhtml
        oder?

        "ja - mir ist, als ob ich versucht hätte, dir eben diesen umstand näherzubringen."

        und diese Dokumente in UTF-8 kodieren (lassen).

        Du meinst, die Dokumente UTF-8 codiert mit dem HTML-Editor abspeichern, richtig?

        s.o.

        Hast du ausprobiert, ob Umlaute richtig dargestellt werden?

        Nein, noch nicht.

        Warum nicht? Du willst erreichen, dass Umlaute richtig dargestellt werden, warum probierst du deine Lösung nicht aus? Wenn die Umlaute dann falsch dargestellt werden weist du, dass du einen Fehler gemacht hast.

        Gruß
        Alexander Brock

        1. Lieber Alexander

          Warum nicht? Du willst erreichen, dass Umlaute richtig dargestellt werden, warum probierst du deine Lösung nicht aus? Wenn die Umlaute dann falsch dargestellt werden weist du, dass du einen Fehler gemacht hast.

          Ich will ja nicht nur, dass es funktioniert.
          Ich möchte es auch gern verstehen (einigermassen jedenfalls :-)

          Danke für Deine Hilfe.
          Ich werde das morgen ausprobieren.

          Gruß
          Ingo

  2. Hallo,

    ... und in meine .htaccess dieses:
      AddCharset utf-8 .css .html .xhtml

    JavaScript-Dateien fehlen. Die solltest du, falls darin Nicht-ASCII-Zeichen vorkommen, auch konsequenterweise in UTF-8 kodieren. (Im Gegensatz zu HTML und CSS kann man direkt in einem JavaScript nicht angeben, wie das Script kodiert ist.)

    ... und in meine <form>-Tags dieses:
      <form accept-charset="utf-8" method= ...

    Bedenke auch, dass deine serverseitige Programmierung nun mit UTF-8-kodierten Daten rechnen muss. Wenn du Formulardaten in Datenbanken speicherst oder Formulardaten mit Datenbankinhalten vergleichst, spielt das eine große Rolle. Auch bei Form-Mailern und Ähnlichem musst du aufpassen und etwa die Kodierung im Mail-Header ändern (entsprechend Content-Type: text/plain; charset=UTF-8).

    Mathias

    1. Moin!

      Auch bei Form-Mailern und Ähnlichem musst du aufpassen und etwa die Kodierung im Mail-Header ändern (entsprechend Content-Type: text/plain; charset=UTF-8).

      Und dabei bedenken, dass es auch noch Mailprogramme gibt, die von UTF-8 keine Ahnung haben.

      - Sven Rautenberg

      --
      My sssignature, my preciousssss!
      1. Hallo molily und Sven Rautenberg

        Bedenke auch, dass deine serverseitige Programmierung nun mit UTF-8-kodierten Daten rechnen muss. Wenn du Formulardaten in Datenbanken speicherst oder Formulardaten mit Datenbankinhalten vergleichst, spielt das eine große Rolle. Auch bei Form-Mailern und Ähnlichem musst du aufpassen und etwa die Kodierung im Mail-Header ändern (entsprechend Content-Type: text/plain; charset=UTF-8).

        Und dabei bedenken, dass es auch noch Mailprogramme gibt, die von UTF-8 keine Ahnung haben.

        Hmmm, das wird ja immer komplizierter.
        Vielleicht sollte ich das dann doch lieber lassen.
        Eigentlich brauche ich auch gar keine besonderen Zeichen.
        Selbst das Euro-Zeichen verwende ich nicht, ich schreibe immer "EUR".

        Ich dachte nur, dass ich auf UTF-8 umsteigen sollte,
        damit es wenigstens rchtige "echte" XHTML-Dateien sind.

        Gruß
        Ingo

        1. Moin!

          Ich dachte nur, dass ich auf UTF-8 umsteigen sollte,
          damit es wenigstens rchtige "echte" XHTML-Dateien sind.

          Die Zeichencodierung ist irrelevant für die "Echtheit". Jede Zeichencodierung ist erlaubt - man muß sie aber in jeden Fall angeben. Auch wenn man die Standardcodierung benutzt, ist das dringendst ratsam, um Zweifel auszuschließen.

          - Sven Rautenberg

          --
          My sssignature, my preciousssss!
          1. Lieber Sven

            Die Zeichencodierung ist irrelevant für die "Echtheit".
            Jede Zeichencodierung ist erlaubt - man muß sie aber in jeden Fall angeben.
            Auch wenn man die Standardcodierung benutzt,
            ist das dringendst ratsam, um Zweifel auszuschließen.

            OK, ich verwende bisher iso-8859-1.

            Meine dazugehörigen Angaben in den Dateien lauten:

              
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">  
            <head>  
              <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />  
              ...  
            </head>  
            
            

            Das ist doch soweit erstmal richtig
            (wenn ich den Quirksmodus vom IE vermeiden will), oder?

            Wenn ich nun eh keine besonderen Zeichen auf meiner Website
            einsetzen will, brauche ich doch UTF-8 eigentlich nicht wirklich.

            Dann kann ich es doch wie oeben beschrieben lieber bei iso-8859-1
            belassen. Auch um den "Problemen" bzw. "Schwierigkeiten", wie
            sie hier in diesem Thread ja schon gepostet wurden, aus dem Weg zu gehen.

            Oder was meinst Du?

            Gruß
            Ingo

            1. Goie More!

              Wenn ich nun eh keine besonderen Zeichen auf meiner Website
              einsetzen will, brauche ich doch UTF-8 eigentlich nicht wirklich.

              Selbst wenn Du Sonderzeichen verwenden willst, mußt Du nicht unbedingt UTF-8 verwenden - es gibt ja noch die Entities (z.B. &eur; für €). In dem Doctype etc. geht es nur um die Codierung des Quellcodes; der Browser bedient sich aber auf jeden Fall aus dem kompletten Unicode-Standard (oder zumindest aus dessen ersten 65.536 Zeichen, die anderen gehen afaik noch nicht).
              Der einzige Nachteil der Entitäten liegt darin, daß die Lesbarkeit des Quellcodes nachläßt, d.h. wenn Du sehr viele davon verwendest, ist UTF-8 auf jeden Fall die bessere Wahl.

              Viele Grüße vom Længlich

              1. Hallo Længlich

                ... Der einzige Nachteil der Entitäten liegt darin, daß die Lesbarkeit des Quellcodes nachläßt, d.h. wenn Du sehr viele davon verwendest, ist UTF-8 auf jeden Fall die bessere Wahl.

                OK, verstehe.

                Gruß
                Ingo

          2. Hallo,

            Ich dachte nur, dass ich auf UTF-8 umsteigen sollte,
            damit es wenigstens rchtige "echte" XHTML-Dateien sind.

            Die Zeichencodierung ist irrelevant für die "Echtheit".

            Es ging wohl, wenn ich mich recht an einen früheren Thread erinnere, darum, dass ein XHTML-Dokument in ISO-8859-1 ohne Kodierungsangabe in der XML-Deklaration für sich genommen grob fehlerhaft im Sinne der XML-Spezifikation ist.

            Jede Zeichencodierung ist erlaubt - man muß sie aber in jeden Fall angeben.

            ...was man eben nicht macht, wenn man zugunsten des IEs auf die XML-Deklaration verzichtet.

            Mathias

            1. Lieber Mathias

              Es ging wohl, wenn ich mich recht an einen früheren Thread erinnere,
              darum, dass ein XHTML-Dokument in ISO-8859-1 ohne Kodierungsangabe
              in der XML-Deklaration für sich genommen grob fehlerhaft
              im Sinne der XML-Spezifikation ist.

              ...was man eben nicht macht,
              wenn man zugunsten des IEs auf die XML-Deklaration verzichtet.

              Ja, Du erinnerst Duch ganz genau richtig.
              Das war ganz genau der Grund meiner Überlegung, auf UTF-8 umzusteigen.

              Gruß
              Ingo

  3. Hi,

    Ist das soweit alles richtig, wenn ich auf UTF-8 umstellen will?
    Oder habe ich da noch was vergessen?

    Bei externen Scripts ebenfalls das CHARSET-Attribut im SCRIPT-Tag verwenden.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!