Как исправить кодировку в ubuntu
Кракозябры в консоли Ubuntu/Debian
Кракозя́бры (крякозя́бры) — жаргонизм, обозначающий бессмысленный с точки зрения читателя набор символов, чаще всего получаемый на компьютере в результате неправильного перекодирования осмысленного текста. В единственном числе — вообще любой компьютерный символ, для которого в русском языке нет общеизвестного названия, например, значок @. Чаще всего кракозябры образуются на выводе программ по причине неправильно настроенной кодировки символов, а также из-за использования неподходящего шрифта.
Пара примеров из того же Wiki:
А теперь перейдём к решению.
Для редактирования отображения симвлов в консоли существует специальный конфигуратор который запускается такой командой:
Далее все действия производятся в консольном графическом конфигураторе простым выбором необходимых пунктов с помощью кнопок вверх, вниз и “Enter”.
Для того, чтобы наша настройка не слетела после перезагрузки нужно проделать следующее:
В открывшемся текстовом файле находим exit 0 и над этой строкой пишем:
Спасибо за прочтение!
Если этот пост помог вам, и вы хотели бы показать свою поддержку, подумайте о том, чтобы заправить будущие посты, купив мне чашку кофе!
Как определить кодировку файла или строки. Как конвертировать файлы в кодировку UTF-8 в Linux
В этой инструкции мы опишем что такое кодировка символов и рассмотрим несколько примеров конвертации файлов из одной кодировки в другую с использованием инструмента командной строки. Наконец, мы узнаем, как на Linux конвертировать несколько файлов из одного набора символов (charset) в UTF-8 кодировку.
Возможно, вы уже в курсе, что компьютер не понимает и не сохраняет буквы, числа или что-то ещё чем обычно оперируют люди. Компьютер работает с битами. Бит имеет только два возможных значения: 0 или 1, «истина» или «ложь», «да» или «нет». Все другие вещи, вроде букв, цифр, изображений должны быть представлены в битах, чтобы компьютер мог их обрабатывать.
Говоря простыми словами, кодировка символов – это способ информирования компьютера о том, как интерпретировать исходные нули и единицы в реальные символы, где символ представлен набором чисел. Когда мы печатаем текст в файле, слова и предложения, которые мы формируем, готовятся из разных символов, а символы упорядочиваются в кодировку.
Имеются различные схемы кодирования, среди них такие как ASCII, ANSI, Unicode. Ниже пример ASCII кодировки.
Программы для определения кодировки в Linux
Чтобы узнать кодировку файла используется команда file с флагами -i или –mime, которые включают вывод строки с типом MIME. Пример:
Команда file показывает кодировки, но для одного из моих файлов она неверна. Рассмотрим ещё одну альтернативу.
Программа enca для определения кодировки файла
Утилита enca определяет кодировку текстовых файлов и, если нужно, конвертирует их.
Установим программу enca:
В этот раз для обоих файлов кодировка определена верно.
Запуск команды без опции выводит что-то вроде:
Это удобно для чтения людьми. Для использования вывода программы в скриптах есть опция -e, она выводит только универсальное имя, используемое в enca:
Если вам нужно имя, которое используется для названия кодировок в iconv, то для этого воспользуйтесь опцией -i:
Для вывода предпочитаемого MIME имени кодировки используется опция -m:
Для правильного определения кодировки программе enca нужно знать язык файла. Она получает эти данные от локали. Получается, если локаль вашей системы отличается от языка документа, то программа не сможет определить кодировку.
Язык документа можно явно указать опцией -L:
Чтобы узнать список доступных языков наберите:
Как определить кодировку строки
Для определения, в какой кодировке строка, используйте одну из следующих конструкций:
Вместо СТРОКА_ДЛЯ_ПРОВЕРКИ впишите строку, для которой нужно узнать кодировку. Если у вас строка не на русском языке, то откорректируйте значение опции -L.
Если возникло сообщение об ошибке:
то попробуйте установить chardet из стандартных репозиториев.
Если chardet не найдена в репозиториях, то поищите программу uchardet, затем установите и используйте её.
Изменение кодировки в Linux
Использование команды iconv
В Linux для конвертации текста из одной кодировки в другую используется команда iconv.
Синтаксис использования iconv имеет следующий вид:
Где -f или –from-code означает кодировку исходного файла -t или –to-encoding указывают кодировку нового файла. Флаг -o является необязательным, если его нет, то содержимое документа в новой кодировке будет показано в стандартном выводе.
Чтобы вывести список всех кодировок, запустите команду:
Конвертирование файлов из windows-1251 в UTF-8 кодировку
Далее мы научимся, как конвертировать файлы из одной схемы кодирования (кодировки) в другую. В качестве примера наша команда будет конвертировать из windows-1251 (которая также называется CP1251) в UTF-8 кодировку.
Допустим, у нас есть файл mypoem_draft.txt его содержимое выводится как
Мы начнём с проверки кодировки символов в файле, просмотрим содержимое файла, выполним конвертирование и просмотрим содержимое файла ещё раз.
Примечание: если к кодировке, в который мы конвертируем файл добавить строку //IGNORE, то символы, которые невозможно конвертировать, будут отбрасываться и после конвертации показана ошибка.
Если к конечной кодировке добавляется строка //TRANSLIT, конвертируемые символы при необходимости и возможности будут транслитерированы. Это означает, когда символ не может быть представлен в целевом наборе символов, он может быть заменён одним или несколькими выглядящими похоже символами. Символы, которые вне целевого набора символов и не могут быть транслитерированы, в выводе заменяются знаком вопроса (?).
Изменение кодировки программой enca
Программа enca не только умеет определять кодировку, но и может конвертировать текстовые файлы в другую кодировку. Особенностью программы является то, что она не создаёт новый файл, а изменяет кодировку в исходном. Желаемую кодировку нужно указать после ключа -x:
Конвертация строки в правильную кодировку
Команда iconv может конвертировать строки в нужную кодировку. Для этого строка передаётся по стандартному вводу. Достаточно использовать только опцию -f для указания кодировки, в которую должна быть преобразована строка. Т.е. используется команда следующего вида:
Также для изменения кодировки применяются программы:
Кое-что о проблемах с кодировками в убунту.
Я не ставил себе цель решить все проблемы, но хотел написать решения, о которых не писалось на хабре.
В основном коснусь кодировок в icq.
Итак начнем с IM. Хорошая хозяйка может взять на заметку несколько следующих фактов. Миранда прекрасно ладит как с utf так и с 1251. qip принимает только 1251 и не желает работать с utf. Pidgin настроеный на utf не принимает 1251. Pidgin настроенный на 1251 принимает utf но отсылает в ответ все равно 1251.
Резюмирую предыдущий параграф, могу сказать что пока корректнее всего работает с кодировками миранда, но ее надо запускать таким образом: env LC_ALL=ru_RU.cp1251 wine miranda.exe иначе она не будет работать с cp1251.
UPD
Прошу собого внимания тех, кто пользуется пиджином
Pidgin получает сообщения из офлайна кракозябрами.
Пользователь Zeboton подсказал, что в свойствах Pidgin надо писать не cp1251 а WINDOWS-1251 тогда проблема исчезает.
Я сам проверял, действительно так.
/UPD
Вообще метод запуска LC_ALL=ru_RU.cp1251 wine программа.exe может применяться ко всем виндовым программам с проблемными кодировками, но я думаю что этим я америку не открыл.
И немного про субтитры в mplayer.
С начала находим шрифт с поддержкой кириллицы, хотя бы ту же тахому. Кладем в home/юзер/.mplayer. Находим там же файл config.
Пишем в него:
font=/home/юзер/.mplayer/tahoma.ttf
subcp=«utf8»
Если сабы у вас с 1251 последнюю строчку следует заменить на
subcp = «cp1251»
UPD
Пользователь non7top подсказал, что для автоопределения кодировки в mplayer вместо subcp = «cp1251» надо написать:
subcp = enca:ru:cp1251
при этом должна быть установлена enca.
Тут немного о кодироваках в аудиофойлах и проигрывателях.
Собственно пока все. Если вы считаете что какую-либо проблему надо решать по-другому либо знаете как решить другую — пишите. Поправки тоже принимаются.
Как научить Ubuntu верной кодировке?
Скорее всего, это известный косяк формата zip, нигде не хранящего кодировку в принципе. Вполне излечимый местными припарками.
Есть подозрение, что это cp1251, а ubuntu использует utf-8.
Погуглите какие-нибудь скрипты для смены кодировки в именах файлов. (ИМХО это не косяк убунты).
p.s.
ЕМНИП современные версии винды тоже используют utf-8.
Прошу “в студию” скрипт, который вам всю систему обрушил, и конкретно как вы его использовали.
Поломать можно что угодно, при наличии полного доступа.
Наверняка (если исключить вероятность того, что скрипт кривой), вы натравили его на всю файловую систему, а не на папку с “перекореженными” именами. Не надо так.
По хорошему каждый kernel panik надо бы зарепортить.
OSX на само деле лучше всех
Максим Ленский: Что вы такого сделали, что у вас еще и файлы похерились?
У меня есть подозрение, что у вас где0то что-то пошло не так и вы давай все бездумно тыкать, какие-0то скрипты с инета копипастить и т.п.
Zenway
#1 02-04-2011 22:08:42
Kак научить Ubuntu правильно отображать кодировку windows?
Здравствуйте, уважаемые гуру от Unix. У меня к вам вопросик: Как научить Ubuntu правильно отображать имена файлов? Например скачан rar-архив. Имена файлов отображаются крякозябрами. В Nautilus после распаковки архива прямо так и пишется неправильная кодировка. Пробывал приложение covmv но оно консольное, а у меня если честно с буржуинским нелады. Есть ли другие варианты. Заранее благодарен.
Отредактировано pefon (02-04-2011 22:10:08)
“Сначала они вас игнорируют, потом смеются над вами, потом борются с вами, а потом вы побеждаете” Махатма Ганди.
#2 03-04-2011 11:10:15
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Хм. Последний раз подобное видел кажется в Убунту 7.ХХ какой то!
Насколько я помню, как это исправлялось.
Для начала проверить, в консоли:
Если там не будет ru_RU.cp1251 то:
Вместо gedit любой текстовик, откроется блокнот и там снизу (если нет) добавить:
Сохранить и после выполнить:
Должно снизу вылезти такое:
Затем проверить снова:
Должно быть примерно так:
Если ru_RU.cp1251 есть то в Nautilus, по идее, должно всё корректно отображаться.
И ещё. Есть такой проект Nautilus Filename Repairer
По скину думаю будет понятно зачем он!
#3 04-04-2011 03:50:25
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Благодарю Вас!
“Сначала они вас игнорируют, потом смеются над вами, потом борются с вами, а потом вы побеждаете” Махатма Ганди.
#4 19-05-2011 23:07:47
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Интересненько. У меня в Арче нет CP1251 локали, но, тем не менее, проблем с виндовой кодировкой, хоть в архивах, хоть на дисках никогда не возникало. Вроде бы, UTF всё должен разруливать. Действительно, проблема из каких-то времён КОI8-R
#5 26-10-2011 14:39:29
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Решение проблемы с кодировкой в rar и zip-архивах для Ubuntu:
Или просто добавить PPA-репозитарий:
и установить/обновить пакеты p7zip-full p7zip p7zip-rar.
#6 13-02-2013 22:17:04
Re: Kак научить Ubuntu правильно отображать кодировку windows?
#7 03-04-2013 09:42:20
Re: Kак научить Ubuntu правильно отображать кодировку windows?
#8 03-04-2013 19:56:43
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Xubuntu 12.10
#9 04-04-2013 00:50:58
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Вот что получилось у меня.
#10 04-04-2013 01:03:24
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Вот что получилось у меня.
а sudo твоё где? Для таких команд и предназначено
#11 05-04-2013 00:28:04
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Мда. вот что значит засиживаться допоздна.
Вроде всё получилось:
Отредактировано Teocally (05-04-2013 00:37:32)
#12 13-04-2013 00:19:41
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Спасибо Огромное
#13 11-09-2013 19:52:53
Re: Kак научить Ubuntu правильно отображать кодировку windows?
#14 11-09-2013 20:03:59
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Пардоньте, сам дурак, сделал
sudo apt-get install xfonts-bolkhov-koi8r-75dpi xfonts-bolkhov-koi8r-misc xfonts-cronyx-koi8r-100dpi xfonts-cronyx-koi8r-75dpi xfonts-cronyx-koi8r-misc xfonts-bolkhov-cp1251-75dpi xfonts-bolkhov-cp1251-misc xfonts-cronyx-cp1251-100dpi xfonts-cronyx-cp1251-75dpi xfonts-cronyx-cp1251-misc
sudo nano /var/lib/locales/supported.d/local
ru_RU.CP1251 CP1251
ru_RU.KOI8-R KOI8-R
sudo locale-gen
и всё заработало. Правда не понял, причём здесь пакеты с расширениями шрифтов, ведь моношрифт всё равно должен работать.
#15 11-09-2013 20:22:17
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Всё равно в Libre office проблема осталась, в gedit решил проблему так:
gsettings set org.gnome.gedit.preferences.encodings auto-detected “[‘UTF-8’, ‘WINDOWS-1251’, ‘CURRENT’, ‘ISO-8859-15’, ‘UTF-16’]”
#16 11-09-2013 20:33:35
Re: Kак научить Ubuntu правильно отображать кодировку windows?
sudo apt-get install cuneiform yagf
больше эту проблему по моему никак не решить, то в одной проге кракозябры то в другой.
#17 11-09-2013 22:11:22
Re: Kак научить Ubuntu правильно отображать кодировку windows?
то в одной проге кракозябры то в другой.
В интерфейсе кракозябры? Давно уже не видел.
Может попробовать удалить все неиспользуемые локали и шрифты:
#18 19-10-2013 12:37:46
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Yes, we are Linux Community.Yes, we can all
#19 19-10-2013 21:48:28
Re: Kак научить Ubuntu правильно отображать кодировку windows?
А меня Unity полностью устраивает. Удобно, никакой русский нигде не слетает. И не слетал ни разу.
#20 20-10-2013 23:12:16
Re: Kак научить Ubuntu правильно отображать кодировку windows?
на разных машинах с завидными регулярностью и упорством слетает русский язык
И всё, кроме русской все локали ёкипс, да и почти 400Мб на корне освободилось!
А вам надо в графической утилите “Язык системы” выставить русский вверх, если язык не один (а лучше, для верности, вообще все другие удалить) и нажать “Применить для всей системы” и всё будет как надо! Испытано многократно!
А меня Unity полностью устраивает. Удобно, никакой русский нигде не слетает. И не слетал ни разу.
Ну а я вот к Unity и не обвыкся, да и шибко не пытался собственно.
Мне оно и не надо, мне и так хорошо, менять ничего и не хочется!
#21 25-10-2013 23:08:19
Re: Kак научить Ubuntu правильно отображать кодировку windows?
на разных машинах с завидными регулярностью и упорством слетает русский язык
И всё, кроме русской все локали ёкипс, да и почти 400Мб на корне освободилось!
А вам надо в графической утилите “Язык системы” выставить русский вверх, если язык не один (а лучше, для верности, вообще все другие удалить) и нажать “Применить для всей системы” и всё будет как надо! Испытано многократно!
А меня Unity полностью устраивает. Удобно, никакой русский нигде не слетает. И не слетал ни разу.
Ну а я вот к Unity и не обвыкся, да и шибко не пытался собственно.
Мне оно и не надо, мне и так хорошо, менять ничего и не хочется!
Спасибо, конечно, за подсказку, но я и сам язык восстанавливал, и уж коли бы приперло меня на Unity подсесть, так наверное уже бы давно сидел. Однако, памятуя о том, как разрабы жестко похоронили любимый мною в ту пору Gnome 2, я был просто вне себя и не мог засранцам этого простить. Сейчас, конечно, я так не фанатею даже от KDE, хотя они кстати после весрии 4.9.5. стали круче пасхальных яиц, и там есть на что посмотреть. Отказался же я от них однако, из-за невъеб—ых зависимостей и отсуствие кое какого софта под kDE. Хотя такого набралось не много, да и не критично 
Yes, we are Linux Community.Yes, we can all
#22 26-10-2013 17:22:56
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Ну а я вот к Unity и не обвыкся, да и шибко не пытался собственно.
Мне оно и не надо, мне и так хорошо, менять ничего и не хочется!
Опробовав один раз сию приблуду, до сих пор пребываю в состоянии лёгкого шока.
Как можно сделать рабочий стол. ещё более макоподобный чем сам MAC OS?
Явно какие-то очень талантливые люди. талантливые и альтернативно одарённые!
З.Ы. Сам переполз на МАТЕ.
#23 27-10-2013 00:20:59
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Отказался же я от них однако, из-за невъеб—ых зависимостей и отсуствие кое какого софта под kDE
Что то про софт я не понял, а зависимости. Так места на диске не жалко, да и у KDE их не больше чем у Gnome. У меня вот они стоят только ради KTorrent, ну раньше ещё и для K3B. Как то и не заморачиваюсь по этому поводу, мне они не мешают, ну и ладненько.
З.Ы. Сам переполз на МАТЕ.
А я что то в полноценных ДЕ разочаровался, обвесил Openbox”а кусочками МАТЕ, LXDE и независимыми утилитками, обустроил себе комфортное гнёздышко и кайфую! 
#24 27-10-2013 22:29:35
Re: Kак научить Ubuntu правильно отображать кодировку windows?
А я что то в полноценных ДЕ разочаровался, обвесил Openbox”а кусочками МАТЕ, LXDE и независимыми утилитками, обустроил себе комфортное гнёздышко и кайфую! 
Отредактировано Teocally (27-10-2013 22:31:35)
#25 28-10-2013 16:42:08
Re: Kак научить Ubuntu правильно отображать кодировку windows?
Как можно сделать рабочий стол. ещё более макоподобный чем сам MAC OS?



















