@pasha_a
Люблю ставить перед собой цели и добиваться их.

В чем отличие при подключении по SSH через Putty и через терминал Ubuntu?

Добрый день!
Столкнулся с проблемой при запуске jar файла.
Сборку jar файла осуществляю с помощью maven-а на базе платы raspberry pi подключаясь к ней через ssh терминал.
Когда подключаюсь через putty-клиент или из-под Windows или из-под Linux, осуществляю сборку и потом запуск файла на исполнение, то все работает хорошо, проблем нет.
Однако когда подключаюсь непосредственно через терминал Ubuntu и произвожу те же операции сборки и запуска, проект работает неправильно, в частности некорректно работают парсеры.
В проекте используются парсеры, работающие с символами русского и украинского языка.
Насколько я понимаю, это как-то связано с кодировкой.
Я перепроверил, собрав проект подключивших через putty, но запустив непосредственно из терминала Ubuntu и проект нормально не работает. Т.е. проблема именно при запуске.
Я проверяю кодировку с помощью echo $LANG и получаю везде одинаковый ответ en_GB.UTF-8

Подскажите пожалуйста в чем конкретно проблема и куда копать дальше.

В чем отличие при подключении по SSH через Putty и через терминал Ubuntu?
  • Вопрос задан
  • 3051 просмотр
Решения вопроса 1
@BorisKorobkov
Web developer
Putty использует кодировку из настроек "Settings" / "Window" / "Translation".

SSH использует кодировку вашего компа (что говорит locale?). Возможно сервер ее не поддерживает.

Закомментируйте SendEnv LANG LC_* на вашем компе в файле /etc/ssh/ssh_config
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
uaVPS
@uaVPS
Хостинг VPS серверов
Попробуйте следующее
dpkg-reconfigure locales
Проверьте что у Вас выбрана верная кодировка
Еще можно попробовать сделать
export LC_ALL=ru_RU.UTF-8
export LANG=ru_RU.UTF-8
export LANGUAGE=ru_RU.UTF-8
Ответ написан
@lexas
Вероятнее всего парсеры внутри джава приложения используют кодировку по умолчанию.
Как вариант решения можно рассмотреть:
- задать переменные user.language, user.country and user.variant
пример:
java -Duser.language=ru -Duser.country=RU -cp ....
- если исходный код доступен, то я бы убрал использование дефолтных кодировок и явно передавал необходимые кодировки.
- ну и как вариант можно смотреть. переменные окружения при поделючениях.
Ответ написан
@metajiji
В Putty по умолчанию стоит koi8-ru в качестве кодировки. Под линуксами, макосями и проч nix терминалах стоит utf8 по умолчанию. Проверьте настройки терминала в putty (это не локаль, а отображение символов терминалом.)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы