Tak jsem debugem zjistila, že UTF-8 BOM se na začátek dala 2x(!), proto odstranění nefungovalo. Když jsem to přepsala tak, aby se UTF-8 BOM odstraňovala ve while cyklu dokud tam je, tak to začalo fungovat. Zajímalo by mne, čím může být způsobeno, že se tam dostala 2x?