Come verificare se un file è UTF-8 valido?

Sto elaborando alcuni file di dati che dovrebbero essere UTF-8 validi ma non lo sono, il che fa sì che il parser (non sotto il mio controllo) fallisca. Mi piacerebbe aggiungere una fase di pre-validazione dei dati per la ben strutturata UTF-8, ma non ho ancora trovato un’utilità che aiuti a farlo.

C’è un servizio web al W3C che sembra essere morto, e ho trovato uno strumento di validazione solo per Windows che segnala file UTF-8 non validi, ma non riporta quali linee / caratteri correggere.

Sarei felice sia con uno strumento che posso inserire e utilizzare (idealmente multipiattaforma), sia con uno script ruby ​​/ perl che posso fare parte del mio processo di caricamento dei dati.