Почему utf8:
- это удобно
- это кроссплатформенно (я, например, работаю на многих разных системах: freebsd, linux, windows и хочу везде иметь возможность беспроблемного доступа к своим файлам)
- utf8 это родная кодировка во многих системах (linux), а также в файловых системах.
- в базах данных давно самая беспроблемная кодировка - utf8 (особенно когда есть необходимость работы с несколькими языками)
- я думаю рано или поздно во freebsd все равно будет utf8 по умолчанию.
Изменения не затрагивают системную консоль!
1. Для поддержки FreeBSD UTF8, компилим ядро с такими опциями (Если UTF-8 будет использоваться только в putty, то вторую опцию можно опустить):
Там меняем cons25 на xterm.
Т.е. было так:
В /etc/login.conf добавляем:
Собственно, этого достаточно - вот так все просто ;)
Альтернативно, либо дополнительно к вышеприведенному способу, можно прописать переменные в используемом шеле:
/etc/csh.cshrc:
Добавляем в /etc/profile (опционально, для тех кто любит баш.):
Перезагружаем машину и любуемся великим и могучим в консоли.
P.S Для настройки PuTTy в менюшке Translation выбираем UTF-8
Можно просмотреть теущие локали:
Дополнение:
Большинстов пользуются программой mc.
При такой установке, псевдограффика отображается неправильно.
Можно запускать программу mc с ключем -a, тогда проблема решается.
Набирать постоянно -a, после mc мне лень, поэтому нашел вот такой способ:
Обновлено 31.07.2011
Ссылки:
Поддержка UTF8 в консоли FreeBSD
Руссификация FreeBSD (UTF-8)
Делаем светлую консоль в FreeBSD в связке: MC + Putty (UTF-8)
- это удобно
- это кроссплатформенно (я, например, работаю на многих разных системах: freebsd, linux, windows и хочу везде иметь возможность беспроблемного доступа к своим файлам)
- utf8 это родная кодировка во многих системах (linux), а также в файловых системах.
- в базах данных давно самая беспроблемная кодировка - utf8 (особенно когда есть необходимость работы с несколькими языками)
- я думаю рано или поздно во freebsd все равно будет utf8 по умолчанию.
Изменения не затрагивают системную консоль!
1. Для поддержки FreeBSD UTF8, компилим ядро с такими опциями (Если UTF-8 будет использоваться только в putty, то вторую опцию можно опустить):
options TEKEN_UTF8
options TEKEN_XTERM
2. Редактируем /etc/ttys
(Если
UTF-8 будет использоваться только в putty, то данный пункт можно также опустить):
Там меняем cons25 на xterm.
Т.е. было так:
ttyv1 "/usr/libexec/getty Pc" cons25 on secure
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
Стало так:
ttyv1 "/usr/libexec/getty Pc" xterm on secure
ttyv2 "/usr/libexec/getty Pc" xterm on secure
ttyv3 "/usr/libexec/getty Pc" xterm on secure
ttyv4 "/usr/libexec/getty Pc" xterm on secure
3 .Не забываем прописать переменные окружения.В /etc/login.conf добавляем:
russian-utf8|Russian Users Accounts UTF-8:\
:charset=UTF-8:\
:lang=ru_RU.UTF-8:\
:lc_all=ru_RU.UTF-8:\
:tc=default:
Перестраиваем БД:
cap_mkdb /etc/login.conf
Прикрепляем пользователя:
pw usermod логин -L russian-utf8
Собственно, этого достаточно - вот так все просто ;)
Альтернативно, либо дополнительно к вышеприведенному способу, можно прописать переменные в используемом шеле:
/etc/csh.cshrc:
setenv LANG ru_RU.UTF-8
setenv LC_CTYPE ru_RU.UTF-8
setenv LC_COLLATE POSIX
setenv LC_ALL ru_RU.UTF-8
Добавляем в /etc/profile (опционально, для тех кто любит баш.):
LANG="ru_RU.UTF-8"; export LANG
LC_CTYPE="ru_RU.UTF-8"; export LC_CTYPE
LC_COLLATE="POSIX"; export LC_COLLATE
LC_ALL="ru_RU.UTF-8"; export LC_ALL
/root/.cshrc: (руту русификации не положены)
setenv LANG C
setenv LC_CTYPE C
setenv LC_COLLATE POSIX
setenv LC_ALL C
Другой способ - прописать переменные окружения:Перезагружаем машину и любуемся великим и могучим в консоли.
P.S Для настройки PuTTy в менюшке Translation выбираем UTF-8
Можно просмотреть теущие локали:
# locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_ALL=ru_RU.UTF-8
Дополнение:
Большинстов пользуются программой mc.
При такой установке, псевдограффика отображается неправильно.
Можно запускать программу mc с ключем -a, тогда проблема решается.
Набирать постоянно -a, после mc мне лень, поэтому нашел вот такой способ:
# mv /usr/local/bin/mc /usr/local/bin/mc_
# touch /usr/local/bin/mc
# chmod 555 /usr/local/bin/mc
После чего вставляю в файл /usr/local/bin/mc следующее:
#!/bin/sh
/usr/local/bin/mc_ -a $1
Обновлено 31.07.2011
Ссылки:
Поддержка UTF8 в консоли FreeBSD
Руссификация FreeBSD (UTF-8)
Делаем светлую консоль в FreeBSD в связке: MC + Putty (UTF-8)
1. Для работы в PuTTy по-моему всего этого не нужно. Достаточно выставить переменные окружения.
ОтветитьУдалить2. Разве кто-то еще работает в чистой консоли? Хоть какие-то иксы ведь нужны, как минимум чтобы было удобнее работать с несколькими консолями.
3. Таки кириллицу все-таки сделали? Если да, то где настройка переключения раскладки?
1. В данном случае терминал заменяется на xterm, который более нормально поддерживает UTF-8
ОтветитьУдалить2. Да, в чистой консоли работают почти все сервера и было бы неплохо, без дополнительных манипуляций, понимать русские коментарии в консоли.
3. Не совсем. Непосредственно в консоли нормально пользоваться UTF-8 до сих пор нельзя. Соответственно и переключение раскладок пока нет :(
не получается, вижу только ????
ОтветитьУдалитьперепробовал уже всё, что выдал гугл - не помогает
как забороть?
Версия ОС?
ОтветитьУдалитьПробуете работать напрямую из консоли или удалённо ?
Данный вариант нормально работает при удалённом конекте к серверу например по ssh.
Как я написал выше "Непосредственно в консоли нормально пользоваться UTF-8 до сих пор нельзя."
Если же проблема возникает при удаленной работе на сервере, то рекомендую перепроверить, все ли сделано, как описано выше.
Спасибо.
ОтветитьУдалить