Datum: 05.11.2008
	      	
	      		  	, Kategorie:
						
Software			
		        
       
      Ein Thema, dass bereits jetzt schon einen Teil der Support-Anfragen ausmacht und sicherlich in Zukunft eine Rolle spielen wird, ist die UTF-8-Kodierung von Text in PHP-Scripten. Probleme treten immer dann auf, wenn zum Beispiel die UTF-8-kodierten Sprachdateien von Scripten, vom Anwender geöffnet und bearbeitet werden. Nach dem Speichern der Datei befindet sich plötzlich folgendes Zeichen am Anfang der Datei:
    
 Das Teil nennt sich Byte-Order-Mark (BOM) und markiert den Text als UTF-8-kodiert. Das Zeichen wird von den Editoren meist automatisch eingefügt. Der Nachteil ist, dass das BOM an den Browser ausgegeben wird (und störend wirkt) und unter Umständen mit Funktionen wie session_start() oder header() in Konflikt gerät.
  Möglichkeit 1: Idealerweise bietet der Editor die Möglichkeit, UTF-8-Kodierung ohne BOM einzustellen. Notepad++ zum Beispiel kann das. Einfach eine der Optionen mit ... without BOM auswählen.
 
 
 Möglichkeit 2: Die UTF-8-kodierten Dateien mit dem normalen Editor bearbeiten und später mit einem einfachen Editor öffnen und das BOM manuell entfernen.
  Möglichkeit 3: Ganz normal mit dem bisherigen Zeichensatz (z.B. iso-8859-1) arbeiten und dann die Datei mit Hilfe der PHP-Funktion utf8_encode() umwandeln.