Tony: Sollte man heutzutage Umlaute noch in HTML Entities umwandeln?

Hallo,

ich habe mal eine grundsätzliche Frage. Ich habe es so als best-practice gelernt, das man deutsche Umlaute (z.B. ö, ä, ü, ß,..) aber auch Sonderzeichen (&) in HTML Entities umwandelt. Auch wenn der Charset im Header  als UTF-8 festgelegt ist.

Bei Projekten wo der Content Hard-gecoded ist, also nicht aus einer Datenbank gezogen wird, muss ich die Umwandlung ja manuell vornehmen.

Eigentlich hatte ich in einem anderen Forum die Frage gestellt, ob es irgendwie die Möglichkeit gibt zu sehen ob der Content einer Seite noch Sonderzeichen/Umlaute enthält, die nicht umgewandelt wurden. Manchmal übersieht man ja gerne mal was bei all den Buchstaben..

Dort kamen aber nur Fragen zurück warum ich denke das ich das machen muss. Heutzutage reicht den Browsern doch die Charset Deklaration im Header aus um alles einwandfrei darzustellen.

Nun ist meine Frage, was gibt es für Gründe Umlaute/Sonderzeichen heutzutage trotzdem umzuwandeln?

Und falls hier jemand einen Tipp hat bezüglich meiner Frage wie ich Seiten Content schnell scannen lassen kann nach, noch nicht umgewandelten Umlauten, bitte her damit! ;)

Danke für eure Antworten im Voraus!

  1. Hallo,

    ich habe mal eine grundsätzliche Frage. Ich habe es so als best-practice gelernt, das man deutsche Umlaute (z.B. ö, ä, ü, ß,..) aber auch Sonderzeichen (&) in HTML Entities umwandelt. Auch wenn der Charset im Header  als UTF-8 festgelegt ist.

    Ich bin kein Experte auf diesem Gebiet, aber mein Gefühl sagt: UTF-8 im Header und gut ist. Es sei denn du hast sehr spezielle Zielgruppen.

  2. Om nah hoo pez nyeetz, Tony!

    Von der Wiege bis zur Bahre ist UTF-8 das einzig Wahre.

    Achte darauf, dass die Dokumente und Daten in den Datenbanken auch als UTF-8 (ohne BOM) gespeichert werden, dann reicht i.A. die meta-Angabe zur Zeichencodierung.

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Fell und Fellatio.

  3. Sollte man heutzutage Umlaute noch in HTML Entities umwandeln?

    Ja, immer wenn es nötig ist, also nein.

    1. Hallo

      Sollte man heutzutage Umlaute noch in HTML Entities umwandeln?

      Ja, immer wenn es nötig ist, also nein.

      Wenn ja, warum nicht?

      Gruß
      Kalk

      1. Mahlzeit,

        Wenn ja, warum nicht?

        Weil es nie nötig ist.

        --
        42
        1. Weil es nie nötig ist.

          Wem die Auslegung zu bestimmt ist, der nimmt folgende ...

          Ja, sollte man immer wenn es nötig ist, also nein, sollte man nicht.

          ... und spielt etwa mit den Bedeutungen von "sollte".

    2. Meine Herren!

      Sollte man heutzutage Umlaute noch in HTML Entities umwandeln?

      Ja, immer wenn es nötig ist, also nein.

      Ich schließe mich der allgemein vorherrschenden Meinung an, aber möchte noch den Kontext-Wechsel in den Raum werfen.

      In der Zeile
      <a href="?foo=bar&baz">
      verbirgt sich ein Syntax-Fehler.

      Richtig wäre:
      <a href="?foo&amp;baz">

      --
      “All right, then, I'll go to hell.”
      1. Mahlzeit,

        In der Zeile
        <a href="?foo=bar&baz">
        verbirgt sich ein Syntax-Fehler.

        Richtig wäre:
        <a href="?foo&amp;baz">

        Wie denn das? Das sind zwei grundverschiedene Anfragen.

        --
        42
        1. Meine Herren!

          In der Zeile
          <a href="?foo=bar&baz">
          verbirgt sich ein Syntax-Fehler.

          Richtig wäre:
          <a href="?foo&amp;baz">

          Wie denn das? Das sind zwei grundverschiedene Anfragen.

          Stimmt, das sollte natürlich so aussehen:
          <a href="?foo=bar&amp;baz">

          Danke für die Anmerkung.

          --
          “All right, then, I'll go to hell.”
          1. hi,

            Stimmt, das sollte natürlich so aussehen:
            <a href="?foo=bar&amp;baz">

            Oder so:
            <a href="?foo=bar;baz=boo">

            Vorausgestzt, der Parser kann dass interpretieren ;)

            Sch??ne Gr????e;

            PS, was sonst noch passierte:
            y=197&hy=197&nx=1&pp=10&os=110&pc=9&hh=2f708fd2a2009347f9f12392590bba35&cl=2&bf=2+3+4+5+8+9+10+12+18+21+28+29+30+32+33+34+35+36+37+38+39+42+44+47+48+51+52+58+59+60+61+62+64+65+66+67+70+72+73+74+77+78+79+80+82+89+90+91+93+104+106+107+108+110+112+113+114+117+126+128+129+131+132+133+134+145+147+149+150+151+152+154+155+158+159+161+162+168+169+171+174+175+178+179+180+186+187+188+189+190+191+193+195+196+197+198+199+200+201+203+204+205+206+207+210+211+212+216+217+218+219+220+221+222+225+226+229+231+232+246+248+250+251+253+254+255+257+259+262+263+266+268+269+270+271+272+273+274+275+276+278+279+280+281+282+284+285+286+287+289+291+292+293+294+295+297+298+301+303+304+305+306+309+310+311+312+314+315+317+329+330+353+354+662+663+664+665+666+667+1004+1008+1038+1072+1078+1089+1126+1131+1197+1203+1275+1278+1279+1289+1297+1305&wo=1&uo=55276&ur=25&uo=55276&uh=19306347&ul=3&st=&os=120&pc=9

            Und was Google dazu sagt:
            414. That’s an error.

            The requested URL /... is too large to process. That’s all we know.

            Also Vorsicht ;)

            1. Mahlzeit,

              Vorausgestzt, der Parser kann dass interpretieren ;)

              zumindest unter Debian kanns PHP schon viele Jahre per Default.

              --
              42
            2. Hi,

              Oder so:
              <a href="?foo=bar;baz=boo">

              boo? Sollte nicht quux kommen?

              1. boo? Sollte nicht quux kommen?

                ...a dog named boo

                Back on the road...

                SCNR ;)

  4. Hi,

    ich habe mal eine grundsätzliche Frage. Ich habe es so als best-practice gelernt, das man deutsche Umlaute (z.B. ö, ä, ü, ß,..) aber auch Sonderzeichen (&) in HTML Entities umwandelt. Auch wenn der Charset im Header  als UTF-8 festgelegt ist.

    soso ... und warum?

    Dort kamen aber nur Fragen zurück warum ich denke das ich das machen muss.

    Ja, diese Frage stellt sich mir auch. Warum sollte man hergehen und Umlaute verst&uuml;mmeln? Nein, das ist absolut unnötig, ich würde jedem empfehlen, diesen Unfug bleiben zu lassen.

    Nur die Sonderzeichen des jeweiligen Kontextes (also die, die eine besondere Bedeutung haben) müssen natürlich dem Kontext entsprechend maskiert werden. In HTML sind das beispielsweise die Zeichen '<', '>', '&', und innerhalb von Attributwerten ggf. Anführungszeichen. Alles andere, insbesondere Umlaute, griechische, kyrillische oder arabische Schriftzeichen sind keine Sonderzeichen.

    Heutzutage reicht den Browsern doch die Charset Deklaration im Header aus um alles einwandfrei darzustellen.

    Ja, vorausgesetzt die angegebene Codierung ist mit der tatsächlich verwendeten identisch. Schlecht ist, wenn man z.B. ISO-8859-1 verwendet, dann aber behauptet, es sei UTF-8.

    Nun ist meine Frage, was gibt es für Gründe Umlaute/Sonderzeichen heutzutage trotzdem umzuwandeln?

    Für Umlaute? Keine.
    Für Sonderzeichen? Siehe oben.

    Ciao,
     Martin

    --
    Ich wollt', ich wär ein Teppich.
    Dann könnte ich morgens liegenbleiben.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hi,

      ich habe mal eine grundsätzliche Frage. Ich habe es so als best-practice gelernt, das man deutsche Umlaute (z.B. ö, ä, ü, ß,..) aber auch Sonderzeichen (&) in HTML Entities umwandelt. Auch wenn der Charset im Header  als UTF-8 festgelegt ist.

      soso ... und warum?

      Dort kamen aber nur Fragen zurück warum ich denke das ich das machen muss.

      Ja, diese Frage stellt sich mir auch. Warum sollte man hergehen und Umlaute verst&uuml;mmeln? Nein, das ist absolut unnötig, ich würde jedem empfehlen, diesen Unfug bleiben zu lassen.

      Nur die Sonderzeichen des jeweiligen Kontextes (also die, die eine besondere Bedeutung haben) müssen natürlich dem Kontext entsprechend maskiert werden. In HTML sind das beispielsweise die Zeichen '<', '>', '&', und innerhalb von Attributwerten ggf. Anführungszeichen. Alles andere, insbesondere Umlaute, griechische, kyrillische oder arabische Schriftzeichen sind keine Sonderzeichen.

      Heutzutage reicht den Browsern doch die Charset Deklaration im Header aus um alles einwandfrei darzustellen.

      Ja, vorausgesetzt die angegebene Codierung ist mit der tatsächlich verwendeten identisch. Schlecht ist, wenn man z.B. ISO-8859-1 verwendet, dann aber behauptet, es sei UTF-8.

      Nun ist meine Frage, was gibt es für Gründe Umlaute/Sonderzeichen heutzutage trotzdem umzuwandeln?

      Für Umlaute? Keine.
      Für Sonderzeichen? Siehe oben.

      Ciao,
      Martin

      Hallo Martin,

      Danke für deine ausführliche Antwort. Das Kontext bezogene Sonderzeichen, z.B. Attribute entsprechend kodiert werden müssen ist selbstverständlich. Dann werde ich mir Zukunft die Umwandlung der Umlaute wohl sparen. :)

      Vielen Dank und Grüße,
      Tony

      1. Om nah hoo pez nyeetz, Tony!

        [Vollzitat]

        Dann werde ich mir Zukunft die Umwandlung der Umlaute wohl sparen. :)

        Bitte ebenso die Vollzitate in diesem Forum. Sie stören nur den Lesefluss.

        Matthias

        --
        Der Unterschied zwischen Java und JavaScript ist größer als der zwischen XING und Xingyiquan.

        1. @@Matthias Apsel:

          nuqneH

          Om nah hoo pez nyeetz, Tony!

          [Vollzitat]

          Dann werde ich mir Zukunft die Umwandlung der Umlaute wohl sparen. :)

          Bitte ebenso die Vollzitate in diesem Forum. Sie stören nur den Lesefluss.

          Was sie mit &bdquo;verst&uuml;mmelten&ldquo; Umlauten gemein haben.

          Matthias

          Qapla'

          --
          „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  5. Klar ist das wichtig oder willst du auf die Netscape 2 User verzichten? Die X Prozent die den Netscape noch verwenden verdoppeln so manche monatliche Auswertung *g*.

    Gruß
    der in Deckung gehende
    T-Rex

  6. @@Tony:

    nuqneH

    ich habe mal eine grundsätzliche Frage. Ich habe es so als best-practice gelernt, das man deutsche Umlaute (z.B. ö, ä, ü, ß,..) aber auch Sonderzeichen (&) in HTML Entities umwandelt.

    Du solltest bei der Wahl deiner Lehrer sorgfältiger sein.

    Das sollte man schon vor 10 Jahren nicht tun. Nachdem ich diesen Artikel unzählige Male verlinkt hatte, hab ich ihn vor 8 Jahren dann auch mal übersetzt. Inzwischen sind’s aus der Reihe schon ein paar mehr geworden.

    Nun ist meine Frage, was gibt es für Gründe Umlaute/Sonderzeichen heutzutage trotzdem umzuwandeln?

    Da fällt mir nur einer ein. Der auch keiner ist, da man ja nirgends eine andere Zeichencodierung außer UTF-8 verwendet.

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)