Byte-Order Mark found in UTF-8 File.

  • Hallo,
    ich validiere gerade die Seiten der Website und habe immer folgende Warnung:


    "The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to
    cause problems for some text editors and older browsers. You may want
    to consider avoiding its use until it is better supported."


    Unter http://www.w3.org/Internationa…qa-byte-order-mark.de.php habe ich gelesen, dass auch in den php-Includes ein BOM stecken kann. Ich habe alle php-Dateien, die ich includiert habe, angeschaut: diese drei merkwürdigen Sonderzeichen sind nirgends zu entdecken. Ich weiß eigentlich nicht, wonach ich noch suchen soll. Ich glaube, ich habe die ganze Problematik noch nicht ganz erfasst...


    Hat jemand eine Idee dazu, worauf ich noch achten kann?


    Danke!

  • BOM http://de.wikipedia.org/wiki/Byte_Order_Mark

    Zitat

    Es ist Sache der Anwendungssoftware, ...


    So wie ich das verstehe, sind am Anfang Deiner Dateien (Scripte) das BOM für UTF-8.
    Was ich mir vorstellen kann: dein Editor/Tool mit dem Du die Files gespeichert hast hängt es vorne an.
    Interessant zu lesen ist:

    Zitat

    und in PHP vor Version 6[1] mit Standardeinstellungen[2] führt die BOM zur Ausgabe von Zeichen an den Browser, so dass ohne „output buffering“ keine HTTP-Header mehr geändert werden können.


    Evtl kannst Du bei Deinem Editor/Tool das vorne anhängen abstellen (Einstellungen)


  • Evtl kannst Du bei Deinem Editor/Tool das vorne anhängen abstellen (Einstellungen)


    Viele Editioren bieten auch von Haus aus eine Funktion an, ein Dokument zu einem UFT-8 ohne BOM zu konvertieren.


    Such dort einfach mal nach etwas in Richtung Konvertierung :)


    Hier das Beispiel vom Notepad++



    [Blockierte Grafik: http://img3.fotos-hochladen.net/uploads/kodierungqyi5364cmk.png]


    Sonst wenns garnicht mag, musst du wohl notfalls per Hexadezimaleditor das BOM ausfindig machen und entfernen, dies ist dann aber die absolut letzte Möglichkeit.

  • Sooo. Nun habe ich den Übeltäter gefunden: Ich habe das komplette Projekt nach der Zeichenfolge
    
    abgesucht und die Datei gefunden, in der sie noch stand (also hatte ich doch nicht alle Dateien gecheckt). Rausgenommen - fertig.
    Ist es aber so, dass dieses BOM immer nur am Anfang des Quellcodes vorkommt? Wenn ja, wäre es zum Glück ziemlich einfach, die fehlerhaften Seiten ausfindig zu machen, wie es bei mir ja der Fall war.

  • Ja, das BOM ist nur am Anfang des Datenstroms (sprich: der Datei) zu finden und macht die Art der Kodierung deutlich. Es gibt ja unterschiedliche Kodierungsmöglichkeiten (UTF-8/16/32, ISO-8859-1, um mal vier zu nennen).
    UTF-16 und 32 brauchen ein BOM um vom jeweils anderen unterschieden werden zu können, bei UTF-8 ist es optional, wird aber heutzutage meist nicht mehr verwendet.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!