О web-разработке
и даже немного больше...

Смена кодировки файла в Linux

Смена кодировки файла в LinuxОднажды банально возникла задача поменять кодировку файла с Windows CP-1251 на UTF-8 посредством консоли. Как правило, задача возникает при работе с двумя системами windows и linux. Объяснение этому простое, windows предпочитает работать с текстовыми файлами в кодировке CP-1251, а linux в свою очередь использует кодировку UTF-8. Способов смены кодировки файла оказалось множество, опишу тот, который приглянулся мне.

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

Итак, для начала неплохо бы узнать, в какой кодировке файл:

# file -i file.txt

Или так

# enca file.txt

Узнав исходную кодировку файла, меняем её с помощью команды:

# iconv -f cp1251 -t utf8 исходный.txt -o конечный.txt

Есть способ, при котором программа сама определит кодировку файла, и преобразует её к кодировке текущей локали:

# enconv file.txt

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

# enconv -x CP1251 file.txt

Итак, полагаю эта заметка пригодиться в работе, в частности лицам, которым приходиться работать с консолью linux.

Опубликован: 31.03.2013 г.

См. также:

Поиск больших файлов в Linux
Bash: mail: command not found
Установка и настройка mSMTP на Linux
Ставим nginx последней версии на Linux
SFTP-обмен файлами между серверами
Время последнего перезапуска системы Linux
Как подсчитать размер файлов и папок в Linux?
12 полезных опций использования команды «df» в Linux

Комментарии

  1. лол пишет:

    Лойс

  2. алекс пишет:

    как перекодировать все файлы в каталоге?

  3. чгыук пишет:
    for fname in *.htm; do enconv "$fname"; done
    

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта