прочитал все гайды, весь 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).
что можно сделать?
в любой. система стоит на виртуальной машине, гипервизор HyperV, при подключении через него - ромбы вместо русского, например в мс. через SSH вместо русского знаки вопроса.
на самом деле мне пофиг на возможность видеть русские символы в консоли. проблема эта уже давно возникла, но обострилась из-за переезда с python 2 на python 3. третий питон же ожидает везде utf8 (грубо говоря), а у меня какая-то каша непонятная. в итоге sys.getfilesystemencoding() показывает utf8, а на деле там ср1251
в путти стоит utf-8. всё отображается прекрасно, кроме русских символов - вместо них знаки вопроса.
в 9 дебиане конечно не может быть проблем с локалью, ЕСЛИ он из коробки. но это изначально был 7 дебиан, который обновлялся по мере необходимости и эта проблема в нём уже давно, но особо не мешала, как я писал выше
проблема решена. она, собственно, была на поверхности.
как я писал, имена файлов отображаются в кодировке ср1521. это потому, что кто-то настроил загрузку через sftp именно в этой кодировке xD после того как я перезагрузил эти файлы в utf8, то всё стало нормально