Come rimuovere caratteri non UTF-8 dal file di testo

Ho un sacco di file in arabo, inglese, russo che sono codificati in utf-8. Cercando di elaborare questi file usando uno script Perl, ottengo questo errore:

Malformsd UTF-8 character (fatal) 

Controllando manualmente il contenuto di questi file, ho trovato alcuni caratteri strani in essi. Ora sto cercando un modo per rimuovere automaticamente questi caratteri dai file.

C’è modo di farlo?

Questo comando:

 iconv -f utf-8 -t utf-8 -c file.txt 

pulirà il tuo file UTF-8, saltando tutti i caratteri non validi.

 -f is the source format -t the target format -c skips any invalid sequence 

Il tuo metodo deve leggere byte per byte e comprendere appieno e apprezzare la costruzione di caratteri in byte. Il metodo più semplice consiste nell’utilizzare un editor che leggerà qualsiasi cosa ma solo i caratteri di output UTF-8. Il textpad è una scelta.

 cat foo.txt | strings -n 8 > bar.txt 

farà il lavoro