LINUX.ORG.RU

enca построчное преобразование кодировки

 , , ,


0

1

В файле кракозябры. Хорошо, если бы все строки были в одной кодировке, и преобразовать их можно было бы как 1251->utf-8. Нет, строки разные. Разные кодировки.
Как бы сделать, чтобы считывался файл построчно, определять, преобразовать и заменить строку автоматически?


Ответ на: комментарий от anonymous

Для тестового файла, который сохранен в кодировке 1251 данный пример работает.
Но для нужного мне файла, который сохранен в UTF-8, данный пример не работает - на выходе сплошные кракозябры.

enca krakozabri.txt
Universal transformation format 8 bits; UTF-8
CRLF line terminators
Surrounded by/intermixed with non-text data
Doubly-encoded to UTF-8 from CP1251
Что не так, что поправить?
p.s. с кодировками работал максимум в декодере Лебедева, поэтому что и как, без понятия.

E2-E4
() автор топика
Ответ на: комментарий от E2-E4

И как это использовать?

И как это использовать?

cat file.txt | rurecoder

Либо построчно

cat file.txt | while read -r ll; do echo $ll | rurecoder; done > recode.txt
Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.