Archiv der Kategorie: encoding

UTF Dateien mit PHP fopen erzeugen

Will Mensch eine „UTF-8“ Datei mit PHP’s eigener fopen-Funktion erzeugen, muss er nur ein paar Dinge beachten.

Zum einen muss der jeweilige Inhalt des fwrite-Befehl UTF-8 encoded sein; das erreicht man am sichersten über die Funktion mb_convert_encoding.

Dann erzeugt man das File auf jeden Fall mit dem ‚b‘ Parameter, sicher ist sicher.

Als letztes setzt Mensch in der Datei noch die entsprechende „Byte Order Mark“ hinein. Das passiert mit Hilfe des pack-Kommandos.

Letztendlich kann man dann seinen Content in die Datei schreiben.


$content = mb_convert_encoding($content,'UTF-8');
$fHandle = fopen($filename,'wb');
fwrite($fHandle, pack("CCC",0xef,0xbb,0xbf));
fwrite($fHandle, $content);
fclose($fHandle);

P.S.: Nicht das fclose vergessen, das wäre einfach schlechter Stil 😉