considera che internamente, php, non è UTF8, di conseguenza quel carattere che leggi tu, magari, nella sua composizione, contiene un valore corrispondente alla chiusura di un apice o magari al dollaro e cosi via con il risultato che php rimbambisce
Se vuoi un consiglio, o metti questi dati in un file esterno e li fai leggere, o li metti nel database e li leggi da li
Ovviamente la mia è solo un ipotesi, per potrebbe essere
Prova ad aprire il file e guardarlo con un editor esadecimale ... cosi vedi i singoli caratteri in formato ansi e capisci quale e dove potrebbe essere il problema più facilmente