LINUX.ORG.RU

Проблема с локалью

 ,


0

1

дада, очередная :) проблема заключается в том, что вместо русских символов в консоли ромбики.

root@server:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.9 (stretch)
Release:        9.9
Codename:       stretch
root@server:~# locale -a
C
C.UTF-8
en_US.utf8
POSIX
ru_RU.utf8
root@server:~# 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=
прочитал все гайды, весь StackOverflow, весь лор. применял dpkg-reconfigure locales, dpkg-reconfigure console-setup, locale-gen, правил /etc/default/locales, .bashrc - как об стенку горох. если зайти по ssh (юзаю KiTTY, клон PuTTY) то локаль ставиться в POSIX. в /etc/ssh/sshd_config AcceptEnv LANG LC_* есть, но ситуацию это не спасает, даже если передавать LANG. опытным путём выяснилось, что русские буквы появляются, если поставить локаль в... ru_RU.CP1251 xD также я пробовал поставить её плагине SFTP для Total Commander и тоже всё отображалось норм. но нужна именно utf8, по понятным причинам, в 2к19 живём же. а если серьёзно, то на сервере крутится сайт на питоне 3 и из-за этой проблемы модуль glob не находит файлы (на ср1251 находит, но их не может прочитать уже lxml). что можно сделать?

При подключении через Putty и подобные следует внимательно смотреть не только настройки сервера, но и настройки эмулятора терминала.

А в Debian 9 никаких проблем с локалями нет «из коробки»

Elyas ★★★★★ ()
Последнее исправление: Elyas (всего исправлений: 1)
Ответ на: комментарий от athost

в любой. система стоит на виртуальной машине, гипервизор HyperV, при подключении через него - ромбы вместо русского, например в мс. через SSH вместо русского знаки вопроса. на самом деле мне пофиг на возможность видеть русские символы в консоли. проблема эта уже давно возникла, но обострилась из-за переезда с python 2 на python 3. третий питон же ожидает везде utf8 (грубо говоря), а у меня какая-то каша непонятная. в итоге sys.getfilesystemencoding() показывает utf8, а на деле там ср1251

WhiteAls ()
Ответ на: комментарий от Elyas

в путти стоит utf-8. всё отображается прекрасно, кроме русских символов - вместо них знаки вопроса. в 9 дебиане конечно не может быть проблем с локалью, ЕСЛИ он из коробки. но это изначально был 7 дебиан, который обновлялся по мере необходимости и эта проблема в нём уже давно, но особо не мешала, как я писал выше

WhiteAls ()

сам лох

проблема решена. она, собственно, была на поверхности. как я писал, имена файлов отображаются в кодировке ср1521. это потому, что кто-то настроил загрузку через sftp именно в этой кодировке xD после того как я перезагрузил эти файлы в utf8, то всё стало нормально

WhiteAls ()