Il modulo DOM di PHP contiene le funzionalità per manipolare gli oggetti dom: la classe radice è "DOMDocument", al quale può essere dato in pasto un testo in formato HTML o XML da decodificare e quindi elaborare come preferiamo.
Questa classe ha purtroppo dei noti problemi con il supporto a testi UTF-8 (e quando mai...).
Provate ad esempio questo codice, che in teoria non dovrebbe fare nulla (decodifica la stringa passata e la ricodifica senza farci nulla).
Se, montando una partizione NTFS, ci sono problemi a leggere accentate o altri caratteri estesi, il problema è che non è stata montata specificando il charset/codepage giusto.