Tengo un montón de archivos en árabe, inglés y ruso que están codificados en utf-8. Tratando de procesar estos archivos usando una secuencia de comandos Perl, obtengo este error:
Malformed UTF-8 character (fatal)
Comprobando manualmente el contenido de estos archivos, encontré algunos caracteres extraños en ellos. Ahora estoy buscando una manera de eliminar automáticamente estos caracteres de los archivos.
¿Hay alguna forma de hacerlo?
Este comando:
iconv -f utf-8 -t utf-8 -c file.txt
limpiará su archivo UTF-8, omitiendo todos los caracteres inválidos.
-f is the source format -t the target format -c skips any invalid sequence
Su método debe leer byte a byte y comprender y apreciar completamente la construcción de caracteres byte wise. El método más simple es usar un editor que leerá cualquier cosa, pero solo mostrará caracteres UTF-8. Textpad es una elección.
cat foo.txt | strings -n 8 > bar.txt
hará el trabajo.