2010-04-27 9 views
11

Mam kilka plików tekstowych, które są zakodowane w ISO-8851-2 (mają trochę polskich znaków). Czy istnieje narzędzie wiersza poleceń dla linux/mac, które mógłbym uruchomić ze skryptu powłoki, aby przekonwertować to na saner utf-8?Konwersja znaków z XXX na utf-8, linia poleceń

+1

Najprawdopodobniej ISO-885 ** 9 ** - 2. ISO 8851 mówi o maśle. – Melebius

Odpowiedz

23

Z linii poleceń użyć

iconv -f LATIN1 -t UTF8 

Możesz dodać //TRANSLIT do UTF8.

+4

Na OSX przynajmniej kodowanie utf jest nazywane UTF-8, więc polecenie to "iconv -f LATIN1 -t UTF-8" –

+0

@ThomasParslow, 'iconv -l' wyświetla zarówno' UTF8', jak i 'UTF-8'. – lhf

+0

@lfh może literówka ... używanie UTF8 powoduje, że "UTF8" zamiast "iconv: conversion to UTF8 unsupported" jest akceptowane. Po prostu próbowałem – Paolo

3

GNU 'libiconv' powinien być w stanie wykonać zadanie.

+0

Dzięki! Wiedziałem, że będzie łatwiej, niż myślałem! – Marcin

9
recode latin2..utf8 myfile.txt 

To spowoduje nadpisanie myfile.txt z nową wersją. Możesz także użyć recode bez nazwy pliku jako potoku.

+1

O wiele skuteczniejsza niż akceptowana odpowiedź, ponieważ iconv nie zastąpi tego samego pliku, nawet używając przekierowań -o lub output. –