Abschließender Slash in HTML5

      Abschließender Slash in HTML5

      Mir ist auf einigen Webseiten, die HTML5 als Basis verwenden, aufgefallen, dass die Browser ein Darstellungsproblem haben, wenn der abschließende Slash bei leeren Elementen, wie bei XHTML/XML, fehlt.

      Der folgende Code-Abschnitt stammt von den W3C Schools und wurde nur durch ein Wort mit Umlauten ergänzt:

      HTML-Quellcode

      1. <!DOCTYPE html>
      2. <html>
      3. <head>
      4. <meta charset="UTF-8">
      5. <title>Hallo</title>
      6. </head>
      7. <body>
      8. <h1>My Website</h1>
      9. <p>Grün</p>
      10. </body>
      11. </html>
      Alles anzeigen

      Lässt man diesen Code unter Missachtung von server-seitigen Charset-Headern im Browser ausführen (in einer UTF-8-kodierten Datei mit Byte Order Mark/BOM), dann wird der Umlaut ü korrekt dargestellt. Dies ist aber nicht mit server-seitigen Scriptsprachen wie PHP machbar, da der PHP-Parser die BOM nicht verarbeiten kann und eine Warnung generiert. In einer UTF-8-Datei ohne BOM (für server-seitige Sprachen empfohlen) wird das Zeichen falsch dargestellt.

      Fügt man aber beim meta-Tag den abschließenden Slash (mit vorangestelltem Leerzeichen) ein, dann wird der Zeichensatz korrekt interpretiert und das Sonderzeichen korrekterweise als ü dargestellt:

      HTML-Quellcode

      1. <!DOCTYPE html>
      2. <html>
      3. <head>
      4. <meta charset="UTF-8" />
      5. <title>Hallo</title>
      6. </head>
      7. <body>
      8. <h1>My Website</h1>
      9. <p>Grün</p>
      10. </body>
      11. </html>
      Alles anzeigen


      Da HTML5 im Gegensatz zu XHTML nicht direkt ein XML-Derivat ist, müssen leere Elemente wie meta oder br nicht unbedingt geschlossen werden, was dann zu seltsamen Verhaltensweisen der Browser führt.

      Dem W3 Validator ist es übrigens egal, ob bei HTML5 die leeren Elemente geschlossen werden. In beiden Fällen gibt es weder eine Warnung noch einen Fehler.

      Getestet wurde in aktuellen IE, Firefox (36+), Chrome (40+) und Opera (12.17).


      EigenschaftWert
      Modell:PlayStation Vita Slim, WiFi, schwarz, PCH-2016
      System-Software:3.63
      Modell:PlayStation TV
      System-Software:3.63, Whitelist Database modified
      Software:7 Vita Cartridges, 9 Titel als PSN-Download (Stand: 10. November 2016)
      Currently playing:Akiba's Trip 2: Undead & Undressed (+ DLC)


      EigenschaftWert
      Modell:PlayStation 4 Slim, 1 TB, CUH-2016B
      System-Software:4.06
      Software:1 PS4-Disk, 3 PSN-Downloads (Stand: 22. Dezember 2016)
      Currently playing:Megadimension Neptunia VII (+ DLC)
      Backlog:Deponia, Fairy Fencer F: Advent Dark Force, Sword Art Online: Hollow Realization

      EigenschaftWert
      Modell:Nintendo 3DS XL Yoshi Special Edition (grün-weiß)
      System-Software:10.1.0-27E
      Software:5 Titel als 3DS-Cartridge, 8 3DS-Titel als Download, 4 Virtual-Console-Titel (Stand: 18. Oktober 2015)
      Flashkarten:SuperCard DSTWO (wird nicht im 3DS benutzt)
      Currently playing:Hatsune Miku: Project Mirai DX / Pokémon: Omega Rubin / Cave Story + (3DSWare)

      EigenschaftWert
      Modell:Nintendo GameCube PAL Silber
      Revision:DOL-001
      Zubehör:2 Controller (Purple + Silber, kabelgeb.), 1 MemoryCard (128 MB, BigBen Interactive), 1 Game Boy Player, Nintendo MultiAV-Kabel, RGB-Kabel
      Spiele:12
      Sonstiges:SD Media Launcher

      EigenschaftWert
      Modell:Nintendo Wii Weiß
      Systemmenü:4.1E
      Boot Loader:Fixed Boot Loader (boot1c) / Standard Boot Loader boot2 v4
      BootMii:IOS
      Priiloader:v0.4 rev80 DE
      HBC:1.1.2
      cIOS + MIOS:IOS222 (hermes v4), IOS249[38] rev19 / cMIOS v10 with integrated GameCube Backup Launcher v0.2
      USB Loader + Storage:USB Loader GX (1.0.x), uLoader 5.1, cfg USB Loader, Neogamma / ohne



      Jap, das ist halt jetzt so, obwohl man ja keinen Bereich in der Datei mit <meta /> einschließt, ich glaube aber ich habe es früher auch immer mit abschließendem / gemacht, wenn es keinen zweiten Tag gibt, der dann einen Bereich einschließt, da das das erste ist, was man in HTML lernt nämlich, dass alles ein Anfang und ein Ende hat, auch wenn es unnötig ist, wie hier, kann es nicht schaden.
      01-19-2038 03:14:08
      Egal ob spezifiziert oder nicht: Für mich ist HTML etwas XML-artiges und da kann man Tags öffnen und schließen oder eben selbstschließende Tags verwenden.
      Was nicht geschlossen wird, hat Kindelemente. Alles andere wäre einfach nur eine supertolle Auflistung von Ausnahmen. Fänd ich persönlich nicht so geil, wenn für so etwas CPU-Zeit verschwendet wird.
      NameWertWert
      ModellNintendo 3DS XL weißNintendo Switch Grau
      SystemmenüLuma3DS 11.8.0Kosmos 8.1.0
      Aktuelles SpielMeisterdetektiv Pikachu
      Monster Hunter Generations Ultimate
      Umlaute und Sonderzeichen in ihre Entityform bringen kann jeder. Damit bin ich auch bestens vertraut und ja, es funktioniert. Aber die Entities machen sich schlecht, wenn man z.B. mehrere Sprachen mischen will in der Datenbank. Deswegen gibts ja die Unicode-Transformationsformate.

      Versuch mal mit HTML-Entities Sprachen wie Arabisch, Hebräisch oder die CJK-Zeichen zu speichern.
      Wertet nicht jeder Browser noch den Header aus? Sofern das Meta-Tag für charset nicht definiert ist, fällt er doch auf den Header zurück. Falls der nicht definiert ist, versucht er es selbst zu erkennen (?).
      Umlautekrams versuche ich immer über den Header zu regeln, weils mir ehrlich gesagt zu blöd ist, Rechenzeit für die Ersetzung der Zeichen aufzubringen.
      NameWertWert
      ModellNintendo 3DS XL weißNintendo Switch Grau
      SystemmenüLuma3DS 11.8.0Kosmos 8.1.0
      Aktuelles SpielMeisterdetektiv Pikachu
      Monster Hunter Generations Ultimate

      StarWolf3000 schrieb:

      In einer UTF-8-Datei ohne BOM (für server-seitige Sprachen empfohlen) wird das Zeichen falsch dargestellt.
      hast du auch sichergestellt, dass die Datei ohne BOM auch in UTF-8 und nicht als ANSI/LATIN-* abgespeichert wird. Denn genau hier gibt es Fallen.

      WIT: Wiimms ISO Tools
      Verwaltet Plain ISO, WDF, WIA, CISO, WBFS, FST: kann Extrahieren, Erstellen, Patchen, Mischen und Überprüfen

      SZS: Wiimms SZS Tools
      Verwaltet SZS-, BRRES-, U8-, BMG-, BREFT-Dateien uvm.



      PN ohne persönlichen Charakter werden ignoriert. Support-Anfragen gehören ins Forum.

      Wiimm schrieb:

      hast du auch sichergestellt, dass die Datei ohne BOM auch in UTF-8 und nicht als ANSI/LATIN-* abgespeichert wird. Denn genau hier gibt es Fallen.

      Ich werd mich doch wohl auf die Angabe von Notepad++ verlassen können: utf8_w_o_bom.png

      Ich muss mir erst mal wieder nen Webserver installieren, denn die oben genannten Beispiele hab ich direkt über die W3Schools laufen lassen: HTML meta charset Attribute

      Dort jedenfalls haben sie sich so verhalten, aber auch bei anderen Webseiten die die falsche Zeichenkodierung ausgeliefert haben.


      EigenschaftWert
      Modell:PlayStation Vita Slim, WiFi, schwarz, PCH-2016
      System-Software:3.63
      Modell:PlayStation TV
      System-Software:3.63, Whitelist Database modified
      Software:7 Vita Cartridges, 9 Titel als PSN-Download (Stand: 10. November 2016)
      Currently playing:Akiba's Trip 2: Undead & Undressed (+ DLC)


      EigenschaftWert
      Modell:PlayStation 4 Slim, 1 TB, CUH-2016B
      System-Software:4.06
      Software:1 PS4-Disk, 3 PSN-Downloads (Stand: 22. Dezember 2016)
      Currently playing:Megadimension Neptunia VII (+ DLC)
      Backlog:Deponia, Fairy Fencer F: Advent Dark Force, Sword Art Online: Hollow Realization

      EigenschaftWert
      Modell:Nintendo 3DS XL Yoshi Special Edition (grün-weiß)
      System-Software:10.1.0-27E
      Software:5 Titel als 3DS-Cartridge, 8 3DS-Titel als Download, 4 Virtual-Console-Titel (Stand: 18. Oktober 2015)
      Flashkarten:SuperCard DSTWO (wird nicht im 3DS benutzt)
      Currently playing:Hatsune Miku: Project Mirai DX / Pokémon: Omega Rubin / Cave Story + (3DSWare)

      EigenschaftWert
      Modell:Nintendo GameCube PAL Silber
      Revision:DOL-001
      Zubehör:2 Controller (Purple + Silber, kabelgeb.), 1 MemoryCard (128 MB, BigBen Interactive), 1 Game Boy Player, Nintendo MultiAV-Kabel, RGB-Kabel
      Spiele:12
      Sonstiges:SD Media Launcher

      EigenschaftWert
      Modell:Nintendo Wii Weiß
      Systemmenü:4.1E
      Boot Loader:Fixed Boot Loader (boot1c) / Standard Boot Loader boot2 v4
      BootMii:IOS
      Priiloader:v0.4 rev80 DE
      HBC:1.1.2
      cIOS + MIOS:IOS222 (hermes v4), IOS249[38] rev19 / cMIOS v10 with integrated GameCube Backup Launcher v0.2
      USB Loader + Storage:USB Loader GX (1.0.x), uLoader 5.1, cfg USB Loader, Neogamma / ohne