Tengo un montón de archivos en árabe, inglés y ruso que están codificados en utf-8. Al intentar procesar estos archivos usando un script de Perl, aparece este error:
Malformed UTF-8 character (fatal)
Verificando manualmente el contenido de estos archivos, encontré algunos caracteres extraños en ellos. Ahora estoy buscando una forma de eliminar automáticamente estos caracteres de los archivos.
¿Hay alguna forma de hacerlo?
Respuestas:
Este comando:
limpiará su archivo UTF-8, omitiendo todos los caracteres no válidos.
-f is the source format -t the target format -c skips any invalid sequence
fuente
pbpaste | iconv -f utf-8 -t -utf-8 -c | pbcopy
. También creé un flujo de trabajo de Alfred con un atajo global para eliminar todos los caracteres especiales mediante la orientaciónascii
.iconv -f utf-8 -t ascii//TRANSLIT
resolvió mi problema. Convierte comillas rizadas en comillas rectas.-o
para un archivo de salida diferenteSu método debe leer byte a byte y comprender y apreciar completamente la construcción inteligente de los caracteres. El método más simple es utilizar un editor que leerá cualquier cosa, pero solo generará caracteres UTF-8. Textpad es una opción.
fuente
hará el trabajo.
fuente