проблемы с кодировкой
Всем доброго времени суток, возникла вот такая проблема, поставил линукс(mint) и теперь в текстовых файлах не распознает русский язык который раньше был введен, когда ввожу новый оно его видит, но до закрытия файлика, когда снова открываю, обрадто ироглифы, подскажите пожауста как с этим боротса( и прозьба детально обьяснить как побороть(в линуксе я чайник))
Нажми ALT и F2.
Там набери xterm и нажми enter.
В запущенном терминале веди команду locate.
Очень хочется посмотреть на то, что она скажет.
Есть кодировка файла, есть текуцая кодировка (отображения и ввода информации) называется locale в POSIX- системах (Linux — посикс система).
Если кодировки файла и locale не совпадают при просмотре ты видишь иероглифы. Ещё иегорлифы бывают если неправильно настроено средство вывода (программа-терминал).
Для того чтобы определить текущую кодировку есть команда locale. Там будет что-то вроде: en_US.UTF-8, где UTF-8 — это и будет кодировка вывода.
Для того чтобы посмотреть файл в другой кодировке надо либо поменять кодировку текущей локаль(сильно не рекомендуется, часто нужно перенастраивать терминал), либо перекодировать файл.
Тренированный юниксоид определяет кодировку файла и системную локаль на глаз по результату вывода файла на терминал. после определения кодировки выполняется программа iconv для файла (или recode, мне она нравится больше, но iconv есть везде), например cat abc.txt | iconv -f CP1251 -t UTF8 >abc.utf8.txt, после чего смотрится преобразованный файл.
Все это не извращение а очень полезно, т.к. любая программа может работать с разными локалями и на разных языках, достаточно просто сказать LANG=ch_CH mc и вам mc будет на китайском.
Потому что в файлах, которые вы создавали в винде, была кодировка CP1251. А теперь ваш текстовый редактор открывает их используя кодировку текущей локали (команда locale), которая скорее всего UTF-8.
Это не значит что для того чтобы редактировать эти файлы вам придётся менять локаль.
Просто не все редакторы умеют [корректно] распознавать кодировки или их нужно настраивать.
gedit из гнома вроде бы сносно определяет кодировку, жаль только что хоть меню для настройки кодировки там даже есть, оно, в лучших традициях сраного ХИГа, появляется только если gedit не может определить кодировку файла.
Можно и не париться, а просто сконвертить все txt-шки в кошерный UTF8 с помощью enconv.
Ну вы и страшные вещи пишете тут) Только новичков пугаете.
vim например хорошо определяет кодировки после небольшой допилки, а смотреть кодировку фала можно с помощью enca.
Источник
Как сменить locale в Debian или пишем кириллицей в консоли linux
Я знаю что кириллица в логах Linux – это самый страшный грех для айтишника, но иногда это просто необходимость. Одна из таких необходимостей возникает при создании централизованного хранения log-файлов различных операционных систем. Microsoft всегда в своих log`ах применяет кириллицу и поэтому если мы хотим получать log-файлы и от Win-серверов, то стоит смириться, что в log`ах будет кирилица.
Для того, чтобы эти логи нормально отображались нам и нужно явно указать locale в Debian, Ubuntu или какой Linux-дистрибутив Вы используете.
Проблемы отображения кириллических символов в Linux не существует. Есть проблема у русской версии Windows. Весь мир и Linux в том числе, работает в кодировке UTF -8, когда русская версия Microsoft использует CP1251. Такая ситуация сложилось исторически благодаря компании «Парус», которая взяла на себя обязательства по локализации всех операционных систем Windows. Выбрали они почему-то кодировку CP1251, которая применяется до сих пор. Использование этой «неправильной» кодировки в наши дни обусловлено сохранением совместимости всех версий ОС.
Чтобы добавить кириллицу, чтобы Linux сервер нормально отображал русские буквы, нужно объяснить ему, что необходимо работать в той же кодировке, что и Windows.
Для того, чтобы управлять локалью в Linux, необходим пакет locales, который должен быть у Вас установлен. В большинстве случаев пакет locales уже будет у Вас установлен, поэтому для проформы просто проверяем этот факт.
Посмотреть установленную locale linux можно командой:
Для ручного указания кодировке в Linux Mint, Debian или ubuntu нужно отредактировать конфигурационный файл /etc/locale.gen :
Команду sudo не нужна, если Вы зашли как суперпользователь. Это относится к Linux Mint и Ubuntu, так как Debian ничего не знает о команде sudo.
В этом файле необходимо найти строчку и расскомментировать с той locale, которая Вам нужна. Для добавления кириллицы нужно раскомментировать строчки с UTF-8 или CP1251 .
- если хотим указать, чтобы ОС работала в UTF -8, раскомментирум:
- если хотим указать, чтобы ОС работала в CP1251, раскомментирум:
Стоит обратить внимание, что первые 2 символа (в нашем примере это ru) говорят нам о языке локализации (кириллица).
После этого переопределяем настройки locales командой:
Команда locale-gen позволяет запустить скрипт /etc/locale.gen и перечитывает все кодировки для консоли.
Чтобы увидеть кириллицу в консоли Linux, остается только перелогиниться.
Источник
[РЕШЕНО] Кодировка win1251
#1 — 2 июля 2016 в 17:34 |
Здравствуйте! В линукс минт 17 я решал проблему с кодировкой win1251 одним из двух способов, а именно: 1) sudo apt-get install gconf-editor
Выполните в терминале команду:
1) команда в терминале gconf-editor
2) проходим в /apps/gedit-2/preferences/encodings/
3) в ключ auto_detected добавляем WINDOWS-1251,
если её нет, то вписываем и двигаем CURRENT вверх.
2) gsettings set org.gnome.gedit.preferences.encodings auto-detected «[‘UTF-8’, ‘WINDOWS-1251’, ‘CURRENT’, ‘ISO-8859-15’, ‘UTF-16’]»
После того как установил Минт 18 Х64, не нахожу в папку encodings, ее просто нет и второй способ тоже не работает. Нашел временное решение — установил программу mouspad, которая при запуске текст.файла определяет, что кодировка не верна и предлагает выбрать ее самому из списка доступных. А как можно сделать так, что бы добавить кодировку WINDOWS-1251 как это получалось у меня в минт 17?
#2 — 2 июля 2016 в 18:29 |
sulako: |
Кодировка WINDOWS-1251, UTF-8, ISO-8859-15, UTF-16 |
Leafpad
Открывает автоматом файл.txt c кодировкой WINDOWS-1251 без предложения выбора, в какой кодировке открыть как Mousepad.
Источник
проблемы с кодировкой
Всем доброго времени суток, возникла вот такая проблема, поставил линукс(mint) и теперь в текстовых файлах не распознает русский язык который раньше был введен, когда ввожу новый оно его видит, но до закрытия файлика, когда снова открываю, обрадто ироглифы, подскажите пожауста как с этим боротса( и прозьба детально обьяснить как побороть(в линуксе я чайник))
Нажми ALT и F2.
Там набери xterm и нажми enter.
В запущенном терминале веди команду locate.
Очень хочется посмотреть на то, что она скажет.
Есть кодировка файла, есть текуцая кодировка (отображения и ввода информации) называется locale в POSIX- системах (Linux — посикс система).
Если кодировки файла и locale не совпадают при просмотре ты видишь иероглифы. Ещё иегорлифы бывают если неправильно настроено средство вывода (программа-терминал).
Для того чтобы определить текущую кодировку есть команда locale. Там будет что-то вроде: en_US.UTF-8, где UTF-8 — это и будет кодировка вывода.
Для того чтобы посмотреть файл в другой кодировке надо либо поменять кодировку текущей локаль(сильно не рекомендуется, часто нужно перенастраивать терминал), либо перекодировать файл.
Тренированный юниксоид определяет кодировку файла и системную локаль на глаз по результату вывода файла на терминал. после определения кодировки выполняется программа iconv для файла (или recode, мне она нравится больше, но iconv есть везде), например cat abc.txt | iconv -f CP1251 -t UTF8 >abc.utf8.txt, после чего смотрится преобразованный файл.
Все это не извращение а очень полезно, т.к. любая программа может работать с разными локалями и на разных языках, достаточно просто сказать LANG=ch_CH mc и вам mc будет на китайском.
Потому что в файлах, которые вы создавали в винде, была кодировка CP1251. А теперь ваш текстовый редактор открывает их используя кодировку текущей локали (команда locale), которая скорее всего UTF-8.
Это не значит что для того чтобы редактировать эти файлы вам придётся менять локаль.
Просто не все редакторы умеют [корректно] распознавать кодировки или их нужно настраивать.
gedit из гнома вроде бы сносно определяет кодировку, жаль только что хоть меню для настройки кодировки там даже есть, оно, в лучших традициях сраного ХИГа, появляется только если gedit не может определить кодировку файла.
Можно и не париться, а просто сконвертить все txt-шки в кошерный UTF8 с помощью enconv.
Ну вы и страшные вещи пишете тут) Только новичков пугаете.
vim например хорошо определяет кодировки после небольшой допилки, а смотреть кодировку фала можно с помощью enca.
Источник
закорлючки вместо русских букв в текстовом редакторе
у меня закорлючки вместо русских букв в текстовом редакторе как исправить ? Ubuntu 14.04
а как можно это исправить ?
а где они конкретно?
в стандартном текстовом редакторе.
я так больше не могу. выложи скрин.
пуск->центр управления->приложения->текстовой редактор->исправить закорлючки
ну я так и думал. а теперь прочти мой первый комментарий в треде, ведь ты же не сделал того, что тебе в нем было указано?
а что я должен был сделать с «man enconv» .
ввести в командной строке в терминале.
Пишет «Нет справочной страницы для enconv»
уже лучше. Тогда установи.
пиши sudo apt-get install enca
ну или установи из любого другого менеджера пакетов.
Файл=>Открыть=>«Кодировка символов» (внизу окна)=>Windows-1251
не помогло да бубунта
а вообще, на будущее — указывай что за программу ты используешь
Текстовых редакторов полно, никто по кофейной гуще гадать не будет, тебя просто пошлют читать это (не помешает, кстати):
http://segfault.kiev.ua/smart-questions-ru.html
А в будущем все файлы сохраняй только в utf-8
что не помогло? программа установилась?
man enconv прочитал?
да прочитал но выдал ошибку, я через магазин приложений установил.
я через магазин приложений установил
парень, я тебе советую все-таки прочитать ту ссылку, ибо чувствую я, что писать ты на этот форум будешь еще много раз.
по man enconv что-то показывается?
ладно. на будущее:
сделает тебе нормальную кодировку из кракозябр.
Редактируй, потом выбирай файл -> сохранить как и там выбирай кодировку и символ конца строки, либо в Windows используй Notepad++.
боженьки. и на муз проигрыватель такая хрень распростроняется. link
боженьки. и на муз проигрыватель такая хрень распростроняется. link
а что формат mp3 убунте не известен ? я уже поагины начал ставить чтоб она их читала
а что формат mp3 убунте не известен ? я уже поагины начал ставить чтоб она их читала
возможно, что по-умолчанию бубунта mp3 не понимает. Но закорючки не из-за этого, а из-за того, что тэги в неправильной кодировке у тебя (windows-1251)
easytag может их все автоматически перекодировать.
Фи, какой гадкий совет!
я скачал это easytag, выбрал папку с музыкой, но easytag их не читает)))) это попец жирной девахи. как так можно ? у меня дикий батхёрт сегодня(
Либо перекодируй теги, либо в настройках твоего плеера укажи, что теги в кодировке cp1251, например audacious это позволяет сделать и ничего перекодировать не нужно будет.
easytag может их все автоматически перекодировать.
А потом он захочет передать эти mp3 кому-либо или прослушать сам в Windows и у него там будут кракозябры.
я скачал это easytag, выбрал папку с музыкой, но easytag их не читает))))
у меня читает, а у тебя нет? Ты что-то не то делаешь.
это попец жирной девахи. как так можно ? у меня дикий батхёрт сегодня(
easytag может их все автоматически перекодировать.
А потом он захочет передать эти mp3 кому-либо или прослушать сам в Windows и у него там будут кракозябры.
нормальные плееры понимают utf-8 и под виндой. Так что это будут уже не его проблемы. Я уже не говорю о том, что DAP тоже подразумевают utf-8 в тегах.
у меня закорлючки вместо русских букв в текстовом редакторе как исправить ? Ubuntu 14.04
добро пожаловать в линупс.
когда открываешь файл, там слева внизу выбор кодировки.
Character Encoding -> Add or remove -> CYRILLIC WINDOWS-CP1251
боженьки. и на муз проигрыватель такая хрень распростроняется. link
и снова добро пожаловать в линупс.
нормальные плееры понимают utf-8 и под виндой.
нормальные плееры понимают non-utf8 везде.
фи какой автор коммента, хотя нет постойте, viva la koi8-ru !
🙂
надеюсь, альтернативный совет не koi8 :)))
Неужто мы все такими были когда-то. Я помню нагуглил что такое кодировка минут за 10 лет
цать назад. А уж сейчас.
Можно и 1251, там еще и в алфавитном порядке буквы идут!
Но мне-то как-то привычно уже с кои
нормальные плееры понимают utf-8 и под виндой.
нормальные плееры понимают non-utf8 везде.
Rio Karma не понимал. Да и вообще совневаюсь, что хоть один сможет одновременно отображать нормально украинские и русские названия, если они не в UTF-8.
Неужто мы все такими были когда-то
раньше в линуксе с кодировками все было еще хуже. никакого utf8, никакой локализации, никаких русских шрифтов. все нужно было доустанавливать и донастраивать вручную. а потом когда появилась поддержка utf8-локали — приходилось запускать аццкие скрипты для преобразования имен файлов.
одновременно отображать украинские и русские названия
в чем сложность?
Но таки да, в говядине твоей очень даже прилично с тегами.
Кстати, странно, что в генте старая версия deadbeef (без исправления проблемы с локалью).
Но мне-то как-то привычно уже с кои
кои в id3 поддерживается только всякой маргинальщиной
Кстати, странно, что в генте старая версия deadbeef (без исправления проблемы с локалью).
а новая версия еще не вышла. щас 2й релиз кандидат готовлю.
В КОИ8-У нет буквы «Э» (про «Ы» точно не помню), а в КОИ8-Р нет буквы гэ
Источник