Кодировки файлов - enconv

28 July 2009 #tips

В моменты, когда переходишь с windows на linux, или когда приходится одновременно работать в этих двух системах, возникает проблема с кодировкой файлов. Так как windows предпочитает работать с текстовыми файлами в кодировке CP1251, а linux последние несколько лет использует UTF8.

Приходиться заниматься изменением кодировки файла. А если быть точным – то в Linux файлы в других кодировках прекрасно можно открывать или редактировать с помощью mousepad. Но если мы собираемся и в дальнейшем использовать данный файл в linux, зачем его оставлять в неродной кодировке?

Существенно упрощает работу с кодировками файлов пакет enca, в состав которой входит утилита enconv. Если есть файл в неизвестной кодировке, который нужно привести к удобоваримому виду, достаточно дать команду:

$ enconv file.txt

Программа самостоятельно определит текущую кодировку файла и преобразует ее к кодировке текущей локали. За все время использования у меня еще ни разу не было случая, чтобы enconv некорректно определила текущую кодировку файла.

Если необходимо преобразовать файл в кодировку отличную от текущей локали, используется параметр -x:

$ enconv -x CP1251 file.txt

В состав пакета входит утилита enca, которая позволяет определить текущую кодировку файла:

~$ enca znak.txt
Universal transformation format 8 bits; UTF-8

Думаю, данная программа должна занять место на рабочем месте каждого пользователя. Тем более, если он активно использует в своей работе консоль.