Benutzer-Werkzeuge

Webseiten-Werkzeuge


dev:all:examples:gtk-charset

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
dev:all:examples:gtk-charset [27.06.2018 07:48]
Manuela v.d.Decken [BOM vs. PHP]
dev:all:examples:gtk-charset [27.06.2018 07:49] (aktuell)
Manuela v.d.Decken [BOM vs. PHP]
Zeile 23: Zeile 23:
 Alles in allem: Eine saubere, einfache Sache. Wenn, ja wenn da nicht die ganzen Programmierer mit ihren Werkzeugen wären!!! Alles in allem: Eine saubere, einfache Sache. Wenn, ja wenn da nicht die ganzen Programmierer mit ihren Werkzeugen wären!!!
 Denn diese (also die Werkzeuge) stören sich gewaltig an den '​überflüssigen'​ Zeichen vor den eigentlichen Daten. Nehmen wir der Einfachheit halber PHP in Verbindung mit einem Webserver.\\ Denn diese (also die Werkzeuge) stören sich gewaltig an den '​überflüssigen'​ Zeichen vor den eigentlichen Daten. Nehmen wir der Einfachheit halber PHP in Verbindung mit einem Webserver.\\
-Die grundlegende Tätigkeit eines Webservers ist es, aufgerufene Dateien auf der Festplatte zu finden, einzulesen und 1:1 direkt wieder auszugeben. Bestes Beispiel sind hierfür die *.html oder *.txt Dateien. Enthält z.B. eine *html Datei jedoch ein BOM, so wird der Browser dieses als erstes, noch vor dem **''<​!doctype html>''​** erhalten und auch anzeigen. Auf dem Browser wird das im Quelltext so aussehen: **''​<​!doctype html>''​**. Nicht so schön?? Sag ich auch. Zumal die Zeichenausgabe vor dem Doctype manchen Browser in den Quirks-Modus zwingt, was wiederum Boxmodell und CSS in's Schleudern bringen kann.\\+Die grundlegende Tätigkeit eines Webservers ist es, aufgerufene Dateien auf der Festplatte zu finden, einzulesen und 1:1 direkt wieder auszugeben. Bestes Beispiel sind hierfür die *.html oder *.txt Dateien. Enthält ​jedoch ​z.B. eine *html Datei eine BOM, so wird der Browser dieses als erstes, noch vor dem **''<​!doctype html>''​** erhalten und auch anzeigen. Auf dem Browser wird das im Quelltext so aussehen: **''​<​!doctype html>''​**. Nicht so schön?? Sag ich auch. Zumal die Zeichenausgabe vor dem Doctype manchen Browser in den Quirks-Modus zwingt, was wiederum Boxmodell und CSS in's Schleudern bringen kann.\\
 In Verbindung mit PHP wird es nicht nur eine optische, sondern bereits eine Funktionsstörung erzeugen. Der Server erkennt anhand der Endung (z.B. *.php), dass er die Datei anders behandeln muss. Er liest die Datei ein und gibt sie direkt zum Browser aus... solange, bis er auf ein **''<?​php''​** Tag trifft, was bei reinen *.php Dateien lt. Coding Standards in Zeile1/​Spalte1 der Fall sein sollte. Von hier ab bis zum ersten **''?>''​** Tag, oder falls keines kommt bis zum Dateiende, schickt er die Daten jetzt erst mal zum PHP-Interpreter,​ der diese als Script behandelt, ausführt und das Ergebnis an den Server zurück gibt, der es zum Browser weiterleitet.\\ In Verbindung mit PHP wird es nicht nur eine optische, sondern bereits eine Funktionsstörung erzeugen. Der Server erkennt anhand der Endung (z.B. *.php), dass er die Datei anders behandeln muss. Er liest die Datei ein und gibt sie direkt zum Browser aus... solange, bis er auf ein **''<?​php''​** Tag trifft, was bei reinen *.php Dateien lt. Coding Standards in Zeile1/​Spalte1 der Fall sein sollte. Von hier ab bis zum ersten **''?>''​** Tag, oder falls keines kommt bis zum Dateiende, schickt er die Daten jetzt erst mal zum PHP-Interpreter,​ der diese als Script behandelt, ausführt und das Ergebnis an den Server zurück gibt, der es zum Browser weiterleitet.\\
 Hat die Datei eine BOM, dann setzt sich die **vor** das <?php und erzeugt dadurch wiederum eine unerwünschte Ausgabe der drei Zeichen ****. Optisch nicht schön, technisch eine Katastrophe,​ denn durch die Ausgabe kann PHP keine Header mehr senden. Also nix mehr los mit dem allseits beliebten header(location....) oder Cookie setzen... oder.. oder Hat die Datei eine BOM, dann setzt sich die **vor** das <?php und erzeugt dadurch wiederum eine unerwünschte Ausgabe der drei Zeichen ****. Optisch nicht schön, technisch eine Katastrophe,​ denn durch die Ausgabe kann PHP keine Header mehr senden. Also nix mehr los mit dem allseits beliebten header(location....) oder Cookie setzen... oder.. oder
dev/all/examples/gtk-charset.txt · Zuletzt geändert: 27.06.2018 07:49 von Manuela v.d.Decken