1. Foren
  2. Kommentare
  3. Security
  4. Alle Kommentare zum Artikel
  5. › Webentwicklung: PHP 7 und der…

UTF-8 mit Bom

  1. Thema

Neues Thema Ansicht wechseln


  1. UTF-8 mit Bom

    Autor: Wimmmmmmmmy 03.02.15 - 16:42

    Ob es Apache bzw. PHP (wer auch immer dafür verantwortlich ist) diesmal hinbekommen, dass man auch mal eine UTF8-Dateien mit Bom verwenden kann?

    Bisher musste ich immer auf das Bom verzichten, da ich sonnst den Header nicht mehr abändern konnte. Dabei kam es leider aber oft dazu, dass man die falsche Zeichenkodierung in den Editoren hat und es nachträglich einstellen muss :-(

  2. Re: UTF-8 mit Bom

    Autor: Smile 03.02.15 - 18:36

    $str = file_get_contents($filename);
    $bom = pack("CCC", 0xef, 0xbb, 0xbf);
    if (0 == strncmp($str, $bom, 3)) {
    $str = substr($str, 3);
    file_put_contents($filename, $str);
    }

    Where is the Problem?

  3. Re: UTF-8 mit Bom

    Autor: GodsBoss 03.02.15 - 18:36

    > Ob es Apache bzw. PHP (wer auch immer dafür verantwortlich ist) diesmal
    > hinbekommen, dass man auch mal eine UTF8-Dateien mit Bom verwenden kann?
    >
    > Bisher musste ich immer auf das Bom verzichten, da ich sonnst den Header
    > nicht mehr abändern konnte. Dabei kam es leider aber oft dazu, dass man die
    > falsche Zeichenkodierung in den Editoren hat und es nachträglich einstellen
    > muss :-(

    Hmmm, vielleicht in den Build-Prozess einbauen, dass das BOM entfernt wird? Die IDEs, die ich kenne, erlauben aber ohnehin, projektweit ein Encoding einzustellen (das grandiose NetBeans erlaubt sogar nichts anderes).

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  4. Re: UTF-8 mit Bom

    Autor: Itchy 03.02.15 - 22:10

    Das liegt vor allem daran, dass Java mit dem BOM eben nicht ohne weiteres zurechtkommt.

  5. Re: UTF-8 mit Bom

    Autor: Dadie 03.02.15 - 22:32

    Wimmmmmmmmy schrieb:
    --------------------------------------------------------------------------------
    > Ob es Apache bzw. PHP (wer auch immer dafür verantwortlich ist) diesmal
    > hinbekommen, dass man auch mal eine UTF8-Dateien mit Bom verwenden kann?
    >
    > Bisher musste ich immer auf das Bom verzichten, da ich sonnst den Header
    > nicht mehr abändern konnte. Dabei kam es leider aber oft dazu, dass man die
    > falsche Zeichenkodierung in den Editoren hat und es nachträglich einstellen
    > muss :-(

    Auf BOM zu verzichten ist jedoch nichts schlimmes, sondern explizit etwas gutes. Selbst der Unicode Standard rät davon ab BOM zu benutzen, sondern eben die Systeme auf "default UTF-8" zu stellen.

    Kann aus eigener Erfahrung auch nur sagen, dass "default UTF-8" die bessere Lösung ist (außer du schreibst Türkisch oder in irgendeiner Asiatischen Sprache). Insbesondere weil so alle Dokumente die nur ASCII Zeichen benutzen auch vollständig ASCII Kompatibel bleiben (gerade bei alten Tools nützlich!)

  6. Re: UTF-8 mit Bom

    Autor: trolling3r 03.02.15 - 23:14

    Warum sollte sich der Server um Probleme mit der Einstellung deines Texteditors kümmern?

  7. Re: UTF-8 mit Bom

    Autor: tibrob 04.02.15 - 14:53

    Weil Wimmmmmmmmy das halt so will, deshalb! :)

    Deine Jacke ist jetzt trocken!

  8. Re: UTF-8 mit Bom

    Autor: kitingChris 05.02.15 - 00:14

    trolling3r schrieb:
    --------------------------------------------------------------------------------
    > Warum sollte sich der Server um Probleme mit der Einstellung deines
    > Texteditors kümmern?
    Das frage ich mich auch...

  9. Re: UTF-8 mit Bom

    Autor: Sammie 05.02.15 - 14:28

    Wimmmmmmmmy schrieb:
    --------------------------------------------------------------------------------
    > Ob es Apache bzw. PHP (wer auch immer dafür verantwortlich ist) diesmal
    > hinbekommen, dass man auch mal eine UTF8-Dateien mit Bom verwenden kann?
    >

    Wozu denn? Eine Byte-Order-Mark braucht man technisch gesehen nur bei UTF-16 oder UTF-32, wo man zwischen Big und Little Endian unterscheiden kann. Bei UTF-8 gibts keine Byte-Order-Reihenfolge und damit ist auch das BOM im Prinzip völlig überflüssig.

    Der Unicode Standard duldet es nur, aber empfiehlt dessen Nutzung nicht. BOM in UTF-8 ist nur aus Abwärtskombatibilitätsgründen für alte Software vorhanden, um das Dokument generell als UTF-8 zu kennzeichen und von anderen Kodierungen zu unterscheiden.

    Ein ISO-8859-1-Dokument und ein UTF-8 Dokument sind in den 128 Ascii-Zeichen identisch. Der Ascii-Range (0-127) beginnt immer mit 0 (0xxxxxxx). Alles darüber hinaus beginnt in UTF-8 mit einem "11"-Byte, gefolgt von "10"-Bytes (110xxxxx 10xxxxxx / 1110xxxx 10xxxxxx 10xxxxxx / 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx) - daher sollte jeder halbwegs fähige Texteditor die UTF-8-Zeichen schon beim Parsen des Textes problemlos erkennen und auf die richtige Kodierung umschalten. Eine Byte-Order-Mark braucht man demzufolge bei UTF-8 nicht.



    1 mal bearbeitet, zuletzt am 05.02.15 14:29 durch Sammie.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. McFIT GmbH & Co. KG, Berlin
  2. SC-Networks GmbH, Starnberg
  3. Bundesamt für Sicherheit in der Informationstechnik, Bonn
  4. ATP Autoteile GmbH, Pressath

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. 97,47€ (Bestpreis!)
  2. FIFA 21 Standard Edition PS4 (PS5) für 55€, FIFA 21 Standard Edition Xbox One (Xbox Series S/X...
  3. 429€ (Bestpreis!)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Serien & Filme: Star Wars - worauf wir uns freuen können
Serien & Filme
Star Wars - worauf wir uns freuen können

Lange sah es so aus, als liege die Zukunft von Star Wars überwiegend im Kino. Seit dem Debüt von Disney+ und dem teils schlechten Abschneiden der neuen Filme hat sich das geändert.
Von Peter Osteried

  1. Star Wars Disney und Lego legen Star Wars Holiday Special neu auf
  2. Star Wars Squadrons im Test Die helle und dunkle Seite der Macht
  3. Disney+ Erster Staffel-2-Trailer von The Mandalorian ist da

Differential Privacy: Es bleibt undurchsichtig
Differential Privacy
Es bleibt undurchsichtig

Mit Differential Privacy soll die Privatsphäre von Menschen geschützt werden, obwohl jede Menge persönlicher Daten verarbeitet werden. Häufig sagen Unternehmen aber nicht, wie genau sie das machen.
Von Anna Biselli

  1. Strafverfolgung Google rückt IP-Adressen von Suchanfragen heraus
  2. Datenschutz Millionenbußgeld gegen H&M wegen Ausspähung in Callcenter
  3. Personenkennziffer Bundestagsgutachten zweifelt an Verfassungsmäßigkeit

IT-Jobs: Die schwierige Suche nach dem richtigen Arbeitgeber
IT-Jobs
Die schwierige Suche nach dem richtigen Arbeitgeber

Nur jeder zweite Arbeitnehmer ist mit seinem Arbeitgeber zufrieden. Das ist fatal, weil Unzufriedenheit krank macht. Deshalb sollte die Suche nach dem passenden Job nicht nur dem Zufall überlassen werden.
Von Peter Ilg

  1. Digitalisierung in Firmen Warum IT-Teams oft übergangen werden
  2. Jobs Unternehmen können offene IT-Stellen immer schwerer besetzen
  3. Gerichtsurteile Wann fristlose Kündigungen für IT-Mitarbeiter rechtens sind

  1. iPad Air 2020 im Test: Apples gute Alternative zum iPad Pro
    iPad Air 2020 im Test
    Apples gute Alternative zum iPad Pro

    Das neue iPad Air sieht aus wie ein iPad Pro, unterstützt dasselbe Zubehör, kommt mit einem guten Display und reichlich Rechenleistung. Damit ist es eine ideale Alternative für Apples teuerstes Tablet, wie unser Test zeigt.

  2. RX 6000 und Ryzen 5000: AMD will Nvidias Fehler nicht wiederholen
    RX 6000 und Ryzen 5000
    AMD will Nvidias Fehler nicht wiederholen

    Das Unternehmen gibt einen Leitfaden an Händler heraus. Der soll gegen Scalper und Bots zum Launch der neuen GPUs und CPUs helfen.

  3. Osiris Rex: Nasa gelingt Asteroidenlandung
    Osiris Rex
    Nasa gelingt Asteroidenlandung

    Nach der japanischen Raumfahrtbehörde Jaxa zeigt auch die Nasa, dass sie auf einem Asteroiden landen und Proben für die Erde nehmen kann.


  1. 15:00

  2. 14:39

  3. 14:15

  4. 13:48

  5. 13:33

  6. 13:16

  7. 13:00

  8. 12:05