LINUX.ORG.RU

Проблемы с кириллицей в console Debian 9

 ,


0

1

Есть скрипт на python3, в котором присутствует кириллица. Все хорошо работало до недавнего времени. Уже где то неделю не работает, через vim так выглядит.


print(str(number_of_cycles) + ' Цикл')
print(str(datetime.datetime.now()) + ' - ~Wап~C~Aк задани~O.')
...
print(str(datetime.datetime.now()) + ' - ~Zоне~F в~Kполнени~O задани~O.')
#~Wаде~@жка межд~C зап~@о~Aами

В console кириллица нормально не набирается, т. е. вот как то так root@Server:~# :²адлдлдл^[[D^[[D

Сервер на VPS/VDS доступ через ssh.

locale настроил на ru-RU:utf...
dpkg-reconfigure console-setup - не помогает. Нужна помощь настоящего мастера.

Ответ на: комментарий от anonymous

locale выдает так, может все таки в нем дело?

root@AppServer:~# locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
root@AppServer:~#      
Dimon07
() автор топика
Ответ на: комментарий от Dimon07

Да я не эксперт, так, мимо проходил) Странно, что «locale настроил на ru-RU:utf... », а locale показывает что LANG= . Может стоит в /etc/locale.conf прописать?

В других редакторах пробовал открывать (nano например), такая же ерунда?

anonymous
()

В console кириллица нормально не набирается

Прочитал как «кириллица нормально набирается» ))). Попробуй создать/изменить файл /etc/vconsole.conf - нужна строчка KEYMAP=ru. Хотя, возможно debian ее как-то перезаписывает своим console-setup и тоже не поможет.

Попробуй искать «debain console cyrillic problem» или «debain console locale problem», или подожди, может эксперты заглянут в тред.

anonymous
()
Ответ на: комментарий от Dimon07

Посмотри, что в выводе

locale -a 
присутствует выбранная локаль.

Так же в настройках терминала, через который ты подключаешься через ssh к серверу должны быть выбрана точно такая же локаль.

kostik87 ★★★★★
()

копай пакеты типа aspell и ispell

piwww ★★★★
()
Ответ на: комментарий от shell-script
root@AppServer:~# locale -a
C
C.UTF-8
POSIX
en_GB.utf8
ru_RU.utf8
root@AppServer:~# dpkg-reconfigure locales
Generating locales (this might take a while)...
  en_GB.UTF-8... done
  ru_RU.UTF-8... done
Generation complete.
root@AppServer:~# 
Dimon07
() автор топика
Ответ на: комментарий от Dimon07

Nano редактором


def main():

        while True:
                global number_of_cycles
                print(str(number_of_cycles) + '         ')
                print(str(datetime.datetime.now()) + ' -  ^w     ^c ^a                ^o.')
                jobs = get_jobs()
                for job in jobs:
                        print(job)
                        run_job(job[0], job[1], job[2], job[3])

                number_of_cycles = number_of_cycles + 1
                print(str(datetime.datetime.now()) + ' -  ^z       ^f    ^k               ^o              ^o.')
                sleep(1*60)     # ^w       ^`                ^c        ^`   ^a
        pass

if __name__ == '__main__':
        main()

Dimon07
() автор топика
Ответ на: комментарий от shell-script

Я выбирал en_GB.UTF-8... done ru_RU.UTF-8... done

но выдает все так же

root@AppServer:~# locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
root@AppServer:~#   

Dimon07
() автор топика
Ответ на: комментарий от Dimon07

В файле etc/local.gen они не закомментированы.

Dimon07
() автор топика
Ответ на: комментарий от Dimon07

Сначала оно спрашивает, какие локали сгенерить, а потом, какую поставить по умолчанию. Судя по всему, ты по умолчанию поставил не ru_RU.UTF-8, а C или POSIX какой-нибудь. Потому что после настройки, локаль должна выглядеть так:

└─> locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

shell-script ★★★★★
()
Ответ на: комментарий от Dimon07

Исправил и файл etc/default/local тоже!

Все заработало, приятно общаться с умными людьми. Спасибо дорогие товарищи! С меня причитается )))

Dimon07
() автор топика
Ответ на: комментарий от Dimon07

Если ты неправильно отконфигурил локаль, а просто сделал экспорт, после того, как ты перелогинишься, все настройки опять слетят.

shell-script ★★★★★
()
Ответ на: комментарий от Dimon07

Чего тут удивительно, ты менял настройки системной локали, а в запущенной сессии твоего пользователя у тебя ничего не менялось.

Учи матчасть.

kostik87 ★★★★★
()
Ответ на: комментарий от Dimon07

Прочитай как в Debian или что там у тебя есть выставить системную локаль.

Опять же можно сделать просто

export LC_ALL=ru_RU.utf8
в ~/.bashrc или какой там у тебя SHELL.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Именно так и сделал, теперь все нормально! Спасибо.

Dimon07
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.