Почему меняется кодировка при загрузке файла?
Нельзя просто взять и перекодировать бинарный файл, он от этого "побьётся".
Кроме того, в вашем случае - я бы рекомендовал изучить хотя бы основы PHP - что такое функции, что такое аргументы функций, и только после этого пробовал бы их писать. А также - научиться пользоваться официальной документацией и уметь в ней посмотреть, какие параметры принимает конкретная встроенная функция, и как ею пользоваться.
Решение нашел сам:
в функцию загрузки вставить 
ob_end_clean();