- Как сменить locale в Debian или пишем кириллицей в консоли linux
- Локализация Ubuntu Server 18.04 LTS
- Текущие настройки языка
- Список доступных локалей
- Добавить новую локаль
- Подробная информация о локалях
- Локаль по-умолчанию
- Быстрая локализация
- Удалить лишние локали
- Переводы для системных программ
- Локализация для текущей сессии
- Файлы конфигурации шрифта и клавиатуры
- Настройка шрифта и клавиатуры
- Как мне найти кодировку по умолчанию в Linux?
- Какая кодировка символов используется по умолчанию в Linux?
- Как мне найти набор символов по умолчанию в Linux?
- Какая кодировка символов используется по умолчанию?
- Как мне узнать, какую кодировку использовать?
- Что такое кодировка Java по умолчанию?
- Как изменить язык в Linux?
- Это символ UTF-8?
- Кто изобрел UTF-8?
- Как изменить кодировку по умолчанию в Windows 10?
- Какие бывают типы кодирования?
- Какие две самые популярные кодировки символов?
- Как мне закодировать URL?
- UTF-8 — это то же самое, что и Ascii?
- В чем разница между UTF-8 и UTF-8?
- Что такое кодировка файла?
- Locale (Русский)
- Contents
- Генерирование локалей
- Установка локали
- Установка системной локали
- Переопределение системной локали в пользовательском сеансе
- Немедленное применение изменений локали
- Дополнительно
- Переменные окружения
- LANG: локаль по умолчанию
- LANGUAGE: запасные локали
- LC_TIME: формат даты и времени
- LC_COLLATE: порядок сортировки
- LC_ALL: решение проблем
- Советы и рекомендации
- Запуск приложения с другой локалью в терминале
- Запуск приложения с другой локалью из меню
- Решение проблем
- Эмулятор терминала не поддерживает UTF-8
- gnome-terminal или rxvt-unicode не поддерживают UTF-8
- Моя система использует неверный язык
Как сменить 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, остается только перелогиниться.
Источник
Локализация Ubuntu Server 18.04 LTS
Локаль (locale или локализация) в Linux определяет, какой язык и какой набор символов (кодировку), пользователь видит в терминале. Посмотрим, как проверить текущие настройки языка и кодировки, как получить список всех доступных локалей, как сменить язык и кодировку для текущей сессии или установить их постоянно.
Для тех, кому лень читать всю статью до конца — чаще всего для локализации консоли достаточно повторно сконфигурировать пакет locales :
Сначала будут созданы нужные локали (их выбрать на первом экране), потом установлена локаль по умолчанию (ее выбрать на втором экране).
Текущие настройки языка
Посмотрим информацию о текущем языковом окружении:
Список доступных локалей
Теперь посмотрим список всех установленных языков и кодировок:
Есть только системная локаль C.UTF-8 , которая присутствует всегда. А нам надо добавить еще две локали — en_US.UTF-8 и ru_RU.UTF-8 .
Добавить новую локаль
Смотрим список всех поддерживаемых (доступных для установки) локалей:
Устанавливаем нужные локали — en_US.UTF-8 и ru_RU.UTF-8 :
Второй способ установить локали — расскомментровать нужные строки в файле /etc/locale.gen
И просто выполнить команду locale-gen без указания локалей:
Подробная информация о локалях
Более подробную информацию об установленных в системе локалях можно посмотреть так:
Часть локалей размещена в архиве /usr/lib/locale/locale-archive , а часть — в директориях внутри /usr/lib/locale/ .
Локаль по-умолчанию
Хорошо, нужные локали у нас теперь есть, осталось только задать локаль по умолчанию:
Эта команда запишет в файл /etc/default/locale строку:
После этого надо будет перезайти в систему. И проверяем информацию о языковом окружении:
Теперь все правильно, так что запишем эту информацию в файл /etc/default/locale :
Быстрая локализация
До сих пор мы все делали ручками, но если лень — можно просто повторно сконфигурировать пакет locales . Сначала будут созданы нужные локали (их нужно выбрать на первом экране), потом установлена локаль по умолчанию (ее нужно выбрать на втором экране).
Удалить лишние локали
После установки (генерации) локали, она помещается в архив /usr/lib/locale/locale-archive . Файл архива — это файл, отображаемый в память, который содержит все локали системы; он используется всеми локализованными программами. Посмотреть список локалей в архиве можно с помощью команды:
Удалить заданную локаль из файла архива:
Обратите внимание на название локали — ru_UA.utf8 , а не ru_UA.UTF-8 . Если неправильно указать локаль — она не будет удалена из архива:
В случае, если утилита locale-gen была вызвана с опцией —no-archive , надо удалить соответствующую директорию в /usr/lib/locale :
Переводы для системных программ
Локализация для основных системных программ, чтобы получать сообщения на русском языке:
Локализация для текущей сессии
Достаточно временно установить переменную окружения LANG в текущей сессии терминала:
Или даже так — передать переменную LANG конкретной программе:
Файлы конфигурации шрифта и клавиатуры
Настройки можно найти в файлах конфигурации /etc/default/console-setup и /etc/default/keyboard :
Это системные настройки, пользователь может создать свои в файлах
Настройка шрифта и клавиатуры
Чтобы сформировать файлы конфигурации /etc/default/console-setup и /etc/default/keyboard можно использовать команды:
После того, как файлы конфигурации будут сформированы, нужно выполнить команду setupcon без аргументов или перезагрузить систему.
Источник
Как мне найти кодировку по умолчанию в Linux?
Какая кодировка символов используется по умолчанию в Linux?
Linux представляет Unicode с использованием 8-битного формата преобразования Unicode (UTF-8). UTF-8 — это кодировка Unicode с переменной длиной. Он использует 1 байт для кодирования 7 бит, 2 байта для 11 бит, 3 байта для 16 бит, 4 байта для 21 бит, 5 байтов для 26 бит, 6 байтов для 31 бит.
Как мне найти набор символов по умолчанию в Linux?
Команда locale –m отображает список всех доступных наборов символов на данной машине. Используйте карту символов локали, чтобы узнать, какой набор символов используется в настоящее время.
Какая кодировка символов используется по умолчанию?
ASCII был первым стандартом кодировки символов. ASCII определяет 128 различных символов, которые могут использоваться в Интернете: цифры (0-9), английские буквы (A-Z) и некоторые специальные символы, например! $ + — () @ <>. ISO-8859-1 был набором символов по умолчанию для HTML 4.
Как мне узнать, какую кодировку использовать?
Откройте файл с помощью обычного старого ванильного Блокнота, который поставляется с Windows. Он покажет вам кодировку файла, когда вы нажмете «Сохранить как …». Какой бы ни была выбранная по умолчанию кодировка, это ваша текущая кодировка для файла.
Что такое кодировка Java по умолчанию?
кодировка и кодировка по умолчанию изменены на UTF-8. Когда виртуальная машина IBM® Java ™ запускается, она выбирает файл. значение кодирования на основе CCSID PASE. Начиная с IBM i 7.4, PASE CCSID по умолчанию имеет значение 1208, что означает, что это файл Java по умолчанию. кодировка теперь UTF-8.
Как изменить язык в Linux?
Если вы хотите изменить или установить локальную систему, используйте программу обновления локали. Переменная LANG позволяет вам установить языковой стандарт для всей системы. Следующая команда устанавливает для LANG значение en_IN. UTF-8 и удаляет определения для LANGUAGE.
Это символ UTF-8?
UTF-8 — это кодировка символов переменной ширины, используемая для электронного общения. Имя, определенное стандартом Unicode, является производным от формата преобразования Unicode (или универсального кодированного набора символов) — 8-битного.
Кто изобрел UTF-8?
Файловые системы и инструменты UNIX ожидают символов ASCII и не работают, если им даны 2-байтовые кодировки. Наиболее распространенной кодировкой Unicode как последовательностей байтов является UTF-8, изобретенный Кеном Томпсоном в 1992 году. В UTF-8 символы кодируются от 1 до 6 байтов.
Как изменить кодировку по умолчанию в Windows 10?
Re: Кодировка по умолчанию для блокнота UTF8 Windows 10, версия 1903
- Щелкните правой кнопкой мыши на рабочем столе, затем выберите «Создать»> «Текстовый документ».
- Текстовый файл New Text Document. …
- Перейдите в меню «Файл»> «Сохранить как …» и выберите «UTF-8» в разделе «Кодировка:», нажмите «Сохранить» и перезапишите существующий файл. …
- Переименовать новый текстовый документ. …
- Скопируйте «TXTUTF-8.
Какие бывают типы кодирования?
Четыре основных типа кодирования — это визуальный, акустический, детальный и семантический.
Какие две самые популярные кодировки символов?
Наиболее распространены окна 1252 и Latin-1 (ISO-8859). Windows 1252 и 7-битный ASCII были наиболее широко используемыми схемами кодирования до 2008 года, когда UTF-8 стал наиболее распространенным.
Как мне закодировать URL?
Кодировка URL (процентное кодирование)
URL-адреса могут быть отправлены через Интернет только с использованием набора символов ASCII. Поскольку URL-адреса часто содержат символы вне набора ASCII, URL-адрес должен быть преобразован в допустимый формат ASCII. Кодировка URL заменяет небезопасные символы ASCII на «%», за которым следуют две шестнадцатеричные цифры.
UTF-8 — это то же самое, что и Ascii?
Для символов, представленных 7-битными кодами символов ASCII, представление UTF-8 в точности эквивалентно ASCII, что обеспечивает прозрачную миграцию в оба конца. Другие символы Unicode представлены в UTF-8 последовательностями длиной до 6 байтов, хотя для большинства западноевропейских символов требуется только 2 байта3.
В чем разница между UTF-8 и UTF-8?
Краткий ответ: в UTF-8 спецификация кодируется как байты EF BB BF в начале файла. … Символ U + FFFE навсегда не назначен, поэтому его присутствие можно использовать для обнаружения неправильного порядка байтов. UTF-8 имеет один и тот же порядок байтов независимо от порядка байтов платформы, поэтому отметка порядка байтов не требуется.
Что такое кодировка файла?
Ваш компьютер переводит числовые значения в видимые символы. Это достигается за счет использования стандарта кодирования. Стандарт кодирования — это схема нумерации, которая присваивает каждому текстовому символу в наборе символов числовое значение. Набор символов может включать буквы алфавита, цифры и другие символы.
Источник
Locale (Русский)
Локали определяют язык, который использует система, а также региональные особенности, такие как денежные знаки, формат чисел, даты и времени и наборы символов. Они используются glibc и некоторыми другими программами или библиотеками для рендеринга текста.
Contents
Генерирование локалей
Имена локалей обычно имеют вид [язык][_ТЕРРИТОРИЯ][.НАБОР_СИМВОЛОВ][@модификатор] , где язык это код языка ISO 639, ТЕРРИТОРИЯ это код страны ISO 3166 и НАБОР_СИМВОЛОВ это кодировка вроде ISO-8859-1 или UTF-8. Смотрите setlocale(3) .
Чтобы вывести список всех доступных и сгенерированных локалей, выполните:
Перед тем, как локаль сможет быть использована в системе, она должна быть сгенерирована. Локали, которые вы можете сгенерировать перечислены в файле /etc/locale.gen . Чтобы сгенерировать локаль, первым делом раскомментируйте соответствующую строку в файле (а для удаления наоборот, закомментируйте); вы можете раскомментировать несколько локалей, в зависимости от ваших потребностей.
Например, для русской локали раскомментируйте ru_RU.UTF-8 UTF-8 :
После сохранения файла сгенерируйте выбранные локали командой:
Установка локали
Чтобы отобразить текущую локаль и связанные с ней переменные окружения, наберите:
Используемая локаль, выбранная среди сгенерированных в системе, устанавливается в файлах locale.conf , каждый из которых должен содержать список переменных окружения в том же формате, в каком их выводит команда locale.
Чтобы посмотреть список доступных ранее сгенерированных локалей, выполните:
Также можно использовать localectl(1) :
Установка системной локали
- Системная локаль устанавливается с помощью переменной LANG в файле /etc/locale.conf . Значением должен быть первый столбец из раскомментированной записи в /etc/locale.gen :
Вы можете установить ее также при помощи localectl:
Переопределение системной локали в пользовательском сеансе
- Системная локаль может переопределяться в каждом пользовательском сеансе с помощью файла
/.config/locale.conf (или, в общем случае, $XDG_CONFIG_HOME/locale.conf либо $HOME/.config/locale.conf ).
Немедленное применение изменений локали
После внесения изменений в файлы locale.conf , они вступят в силу после перезагрузки системы, и для отдельных сеансов пользователей — при входе. Чтобы принудительно обновить локаль в текущем окружении без перезагрузки, выполните:
Дополнительно
Переменные окружения настроек локали могут также быть установлены обычным способом, как указано на странице переменные окружения.
Например, чтобы проверить, как работает конкретное приложение с какой-нибудь локалью, вы можете запустить его следующим образом:
Аналогично, для установки локали всем процессам, запускаемом из текущей командной оболочки (например, в процессе установки системы):
Переменные окружения
Файлы locale.conf могут содержать следующие переменные окружения:
Полное объяснение этих переменных можно узнать в locale(7) , детали описаны в locale(5) .
LANG: локаль по умолчанию
Локаль, установленная в этой переменной используется в качестве значения для всех остальных LC_* -переменных, которые не установлены явно.
LANGUAGE: запасные локали
Программы, использующие gettext для перевода, учитывают также переменную LANGUAGE в дополнение к стандартным переменным. Это позволяет пользователям установить список локалей, которые будут использоваться в указанном порядке для поиска перевода. Если перевод для более предпочтительной локали (которая идет первее в списке) недоступен, будет произведена попытка получить перевод для следующей, и так далее. Например, пользователь из Австралии может предпочесть британский вариант перевода американскому:
LC_TIME: формат даты и времени
Например, если переменная LC_TIME имеет значение en_US.UTF-8 , будет использован формат даты ММ/ДД/ГГГГ . Если вы хотите использовать формат ISO 8601 ( ГГГГ-ММ-ДД ), установите:
LC_COLLATE: порядок сортировки
Эта переменная отвечает за правила определения сравнения наборов символов, которые используются для сортировки и регулярных выражений.
Установка значения LC_COLLATE=C , например, приведет к тому, что команда ls будет располагать файлы, имена которых начинаются с точки, первыми, за ними последуют имена, начинающиеся с цифры, затем с заглавной и, наконец, со строчной буквы:
Чтобы избежать возможных проблем, в Arch переменная установлена как LC_COLLATE=C в /etc/profile , однако этот метод сейчас устарел.
LC_ALL: решение проблем
Переменная LC_ALL переопределяет своим значением все LC_* -переменные, включая LANG , независимо от того, установлены они или нет.
Переменная LC_ALL — единственная из всех LC_ -переменных, которую нельзя установить в /etc/locale.conf : она предназначена только в целях проверки при решении проблем.
Советы и рекомендации
Запуск приложения с другой локалью в терминале
Например, чтобы запустить программу abiword на иврите:
Запуск приложения с другой локалью из меню
Скопируйте файл .desktop в домашний каталог пользователя:
И отредактируйте команду в опции Exec :
Решение проблем
Эмулятор терминала не поддерживает UTF-8
Небольшой список терминалов с поддержкой UTF-8:
- gnustep-terminal
- konsole
- mlterm
- rxvt-unicode (Русский)
- st
- эмуляторы на основе VTE
- xterm — необходимо запускать с опцией -u8 или с настройкой xterm*utf8: 2 . Также вы можете запускать uxterm, который предоставляется пакетом xterm .
gnome-terminal или rxvt-unicode не поддерживают UTF-8
Чтобы заработала поддержка UTF-8 в этих приложениях, необходимо запускать их с локалью, в которой установлена кодировка UTF-8, например ru_RU.UTF-8 . Включите эту локаль в системе, установите ее как системную локаль по умолчанию в соответствиями с инструкциями в предыдущих разделах и перезагрузите компьютер.
Моя система использует неверный язык
Возможно, некоторые переменные окружения из locale.conf были переопределены каким-то другим файлом, например
/.pam_environment , который используется в GNOME. Подробнее смотрите на странице Переменные окружения#Установка переменных.
Если вы используете окружение рабочего стола, такое как GNOME, его настройки могут перекрывать locale.conf .
KDE Plasma также позволяет изменить язык интерфейса через свои настройки. Если он всё равно использует язык по умолчанию после изменения, удаление файла
/.config/plasma-locale-settings.sh ) должно помочь.
Если вы используете экранный менеджер вместе с accountsservice , смотрите Display manager (Русский)#Установка языка.
LightDM автоматически использует accountsservice для выбора локали, если он установлен. В противном случае LightDM читает настройки сеанса из
/.dmrc . Возможно, что нежелательные настройки локали прочитались оттуда.
Источник