croxxx69 hat geschrieben:wollte nochmal wegen diesen "bom" oder wie das heisst nachfragen wieso denn das entsteht?
Steht oben bereits. Lange Erklärung:
BOM steht für byte-order mark und bezeichnet zwei Bytes, die angeben, in welcher Reihenfolge zusammengehörige Bytes erscheinen.
Wenn du im Dezimalsystem auf Kästchenpapier eine Zahl größer 9 aufschreiben willst, brauchst du zwei Kästen (ab Einhundert drei, etc). Üblich ist es, die höherwertige Ziffer zuerst zu schreiben und dann in den rechts folgenden Kästchen die niederwertigeren; für Dreizehn schreibst du also zuerst die Ziffer 1, rechts gefolgt von der Ziffer 3, macht die Zahl 13.
In der Computertechnik läuft es genauso, nur dass statt Ziffern Bytes eingesetzt werden, Zahlen größer als 255 benötigen zwei oder mehr Bytes.
Nun gibt es aber verschiedene Systemarchitekturen, manche speichern die höherwertigen Bytes zuerst, andere beginnen mit dem niederwertigsten. Es gibt also quasi nicht nur Rechner, die die Zahl Dreizehn als 1 und 3 speichern, manche speichern auch als 3 und 1. Es gibt ja auch Sprachen, die von recht nach links geschrieben werden, Arabisch oder Hebräisch zum Beispiel.
Mit den Bits in den Bytes gibt es übrigens das gleiche Problem.
Und genau dafür ist das BOM da: Es zeigt an, in welcher Reihenfolge die Bits und Bytes im Datenstrom erscheinen.
1. wie ich alles automatisch ohne bom speichern kann?
In notepad++ im Menü Einstellungen, Punkt Optionen, Karte Neu/Öffnen/Speichern. Dort findest du in der linken Hälfte unübersehbar verschiedene Möglichkeiten für die Kodierung neuer (!) Dateien.
Wie du existierende Dateien manuell änderst, steht oben. Für die Automatik musst du dir vermutlich ein Skript schreiben.
Dass du stattdessen auch PHPs Ausgabepuffer aktivieren kannst, steht ebenfalls bereits oben.
2. wieso das problem auftritt? - benutze fireftp (firefox plugin) und da kann man einstellen ob man: mit binary mode, ascii mode oder automatic die uebertragung haben will... ist wohl da das problem?
Das hat mit FTP nichts zu tun. Im ASCII-Modus von FTP werden die Zeilenendesequenzen automatisch geändert; Unix und andere Systeme nutzen das Zeichen Zeilenvorschub (\n) als Zeilenende, zumindest die alten Macs den Wagenrücklauf (\r) und DOS/Windows Wagenrücklauf und Zeilenvorschub zusammen (\r\n).
Diese Unterschiede sind der Grund dafür, dass man im Windows-Texteditor Textdateien, die unter Unix-kompatiblen System erstellt wurden, nicht vernünftig lesen kann, weil alles in einer Zeile angezeigt wird. In notepad++ hast du stattdessen rechts unten ein Statusfeld, dass dir den aktuellen Modus anzeigt.
Hat aber, wie gesagt, mit deinem BOM-Problem nichts zu tun. Das BOM schreibt das Programm, dass die Textdatei erzeugt hat.