You can either work on the raw data or converting on the fly.
If you're planning to have all new data to stored in UTF-8 format, then batch converting all old data would be more favorable. It is not fun to have mixed encoding in your raw data. You may reference this question to find batch conversion command advice.
On the otherhand, if you're going to keep the input and storage in ISO-8859-1 encoding, the only thing you can do is to convert the document on the fly.
$txt = iconv('iso-8859-1', 'utf-8', file_get_contents('new.txt'));
Or if your source files have mixed encoding iso-8859-1
and other unknown encoding, you may add //IGNORE
flag to prevent error:
$txt = iconv('iso-8859-1', 'utf-8//IGNORE', file_get_contents('new.txt'));
This takes more computation power to display the page every time. So it is always preferable to have the raw content converted (unless it is not possible for your situation).