2010-04-27 6 views
11

Tengo un montón de archivos de texto codificados en ISO-8851-2 (tengo algunos caracteres polacos). ¿Hay alguna herramienta de línea de comandos para linux/mac que pueda ejecutar desde un script de shell para convertir esto a saner utf-8?conversión de Charset de XXX a utf-8, línea de comando

+1

Probablemente ISO-885 ** 9 ** - 2. ISO 8851 habla sobre la mantequilla. – Melebius

Respuesta

23

Desde la línea de comandos utiliza

iconv -f LATIN1 -t UTF8 

es posible que desee añadir a //TRANSLITUTF8.

+4

En OSX, al menos, la codificación utf se llama UTF-8, por lo que el comando es "iconv -f LATIN1 -t UTF-8" –

+0

@ThomasParslow, 'iconv -l' enumera tanto' UTF8' como 'UTF-8'. – lhf

+0

@lfh tal vez un error tipográfico ... usando UTF8 resultados en 'iconv: conversión a UTF8 UTF8 no compatible 'UTF-8 en su lugar es aceptado. Acabo de tratar – Paolo

3

GNU 'libiconv' debería ser capaz de hacer el trabajo.

+0

¡Gracias! ¡Sabía que sería más fácil de lo que pensaba! – Marcin

9
recode latin2..utf8 myfile.txt 

Esto sobrescribirá myfile.txt con la nueva versión. También puede usar recode sin un nombre de archivo como una tubería.

+1

Forma más eficiente que la respuesta aceptada, porque iconv no reemplazará el mismo archivo, incluso utilizando -o redireccionamientos de salida. –

Cuestiones relacionadas