Хоть способы смены кодировки описанные в статье подходит для большинства дистрибутивов linux, но т.к. новички всё чаще выбирают ubuntu, то я решил обозвать статью именно так(Подразумевается, что опытные пользователи и сами знают, как сменить кодировку).
В начале небольшое философское отступление.
Довольно часто когда пользователи переходят с windows на linux у них возникает очень большое количество вопросов. Если есть знакомый линуксоид, то связываемся с ним и пол дела сделано. А вот если знакомых нет, то может помочь только интернет… если гугло-яндексинг ни к чему хорошему не приводит, то зачастую «грустный панда» возвращается на форточки. Проблема в том, что большинство не понимает(или не знает) о философии СПО и опенсорса. Если спросить, что то о windows, то большинство ответов будет такие: Перезагрузись>переустанови винду> выбрось комп с окошка. В linux принято помогать друг другу. Так к чему я это… По запросу, который в заголовке статьи, было несколько переходов на туксика, но я то знаю, что на сайте нет не было статьи о кодировке. Так вот почему эти люди не попросили помощи в комментариях или на специальной странице… для меня это загадка. Есть даже целые ресурсы посвященные вопросам и ответам, например http://ubuntovod.ru/ask/ . Это первый российский ресурс подобного формата, но если на западе анологичный сайт очень популярен и ежедневно появляется 10-ки ответов и вопросов, то у нас 1 вопрос в 3-4 дня. Нужно приучать общество, что линуксоиды не злые бородатые дяди с пивом, а дружелюбное и отзывчивое сообщество.
Вернёмся к кодировке.
Самый простой способ сменить кодировку у файла это открыть его двойным кликом мыши, затем выбрать Файл>Сохранить как(Shift+Ctrl+S) и выбрать кодировку в нижнем левом углу
Затем останется только кликнуть кнопку «Сохранить».
С одиночным файлом понятно, а вот что делать если надо сменить кодировку у группы файлов в каталоге?
Здесь нам поможет bash и программа iconv
И то и другое есть в стандартной сборке ubuntu, по этому примемся за создание скрипта. Для удобства поместим скрит рядом с другими скриптами наутилуса:
gedit ~/.gnome2/nautilus-scripts/Кодировка
И вставляем в открывшийся редактор следующий текст:
#!/bin/bash
ls > tempffile
a=$(zenity --text "Укажите исходную кодировку файла" --entry)
b=$(zenity --text "Укажите желаемую кодировку файла" --entry)
sed -i 's/[ ]/_/g' tempffile
for n in $(cat tempffile);
do
m=`echo $n | sed 's/_/ /g'`
iconv -f $a -t $b -o "$m.$b" "$m"
mv "$m.$b" "$m"
done
rm tempffile
Сохраняем, закрываем и делаем скрипт исполняемым:
chmod +x ~/.gnome2/nautilus-scripts/Кодировка
Что бы применить скрипт нажимаем на любом файле в каталоге(не на самом каталоге, а именно на файле!), выбираем Сценарии > Кодировка, отвечаем на вопросы(Какая исходная кодировка файла и в какую конвентировать), и дело сделано.
Внимание! Этот скрипт изменит кодировку ВСЕХ файлов в каталоге, а также создаст и уничтожит файл «tempffile
» (я думаю таково файла ни у кого не должно быть), поэтому желательно все файлы, которые надо перекодировать, перенести в отдельный каталог.
P.S.: В скрипте используется дико индусский способ решения проблемы с пробелами,и я не помню в каком состоянии был, когда это придумал, но он работает :)
«В linux принято помогать друг другу.»
вы жжоте!
в линукс принято отсылать к манам и хауту!
Меня ещё не резу не отсылали.. хотя я сам не брезгую командой man :)
А вот такое отношение часто встречаю
работает. Приятно. Спасибо.