sorununuzun sebebi fwrite fonksiyonunun utf-8 desteklememesi.
kodlarınızı şu şekilde düzenlerseniz sorun kalmayacaktır;
$dosya_adi = "kategori.txt";
touch($dosya_adi);
file_put_contents($dosya_adi, "xEFxBBxBF".  $dosyaya_yazilacak_veri);