Страницы

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

Возникла задача поменять кодировку файла с 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 file.txt -o newfile.txt

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

~$ enconv file.txt

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

~$ enconv -x CP1251 file.txt


=====
Удачи.

 
 




 

Комментариев нет:

Отправить комментарий