Массовое изменение кодировки файлов / каталогов

По некоторым причинам многие файлы / каталоги на моем сервере не имеют кодировки UTF-8. Есть ли способ, которым я могу изменить эти файлы, чтобы они были UTF-8? Большинство файлов на сервере - это UTF-8.

Можно ли как-нибудь исправить эти файлы, чтобы они загружались с помощью моего текстового редактора?

1 ответ

iconv Программа считывает текст в одной кодировке и выводит текст в другой кодировке. Если никакие входные файлы не заданы, или если они заданы как тире (-), iconv считывает из стандартного ввода. Если выходной файл не указан, iconv записывает в стандартный вывод.

   If no from-encoding is given, the default is derived from  the  current
   locale's  character  encoding.  If no to-encoding is given, the default
   is derived from the current locale's character encoding.

iconv скорее всего, часть вашей установки Ubuntu по умолчанию. Вы можете подтвердить, что он установлен с помощью команды which iconv вывод будет расположение программы, которая в моем случае /usr/bin/iconv

Если по какой-то причине у вас его нет, вы можете установить его sudo apt-get install libc-bin

Кажется, что iconv также доступен в OSX.

Если вы не знаете существующую кодировку, вы можете попробовать file -i filename для Ubuntu или file -I filename для OSX, который должен предоставлять метаданные, включая кодировку.

Пример:

$file -i netflix-backtrace.txt 
netflix-backtrace.txt: text/plain; charset=us-ascii

Источники:

man iconv

https://stackoverflow.com/questions/64860/best-way-to-convert-text-files-between-character-sets

https://stackoverflow.com/questions/805418/how-to-find-encoding-of-a-file-in-unix-via-scripts

Другие вопросы по тегам