Массовое изменение кодировки файлов / каталогов
По некоторым причинам многие файлы / каталоги на моем сервере не имеют кодировки 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