SecureCRT не может отображать некоторые символы

По какой-то причине SecureCRT отображает неправильный символ / кодировку, когда я ssh на сервер Linux.

Например, следующий от man route

Gateway
              The gateway address or ’*’ if none set.

Используйте другое программное обеспечение терминала (терминал ZOC)

Gateway
              The gateway address or ’*’ if none set.

Набор символов терминала ZOC - ANSI/Windows/Latin I, и я попробовал это для SecureCRT, но ничего не изменилось.

любая идея?

2 ответа

Решение

Это проблема с символами UTF-8 и локалью Linux.

Для современного Linux команда locale charmap должен нормально дать вам UTF-8 другие значения могут работать, но не предоставят вам все символы, например: ☎ ☑ ☑ ☎

У обоих из них, кажется, есть терминал, установленный в ISO-8859-1 разница в том, что ZOC отправил хосту переменную окружения 'LANG=en_GB'; SecureCRT не имеет.

Лучшее решение - настроить эмулятор терминала для интерпретации UTF-8 набор символов, тогда, если возможно, эмулятор отправит переменную LANG=fr_FR.UTF-8 (или аналогичный) для Linux.

Если вы не можете найти настройку локали в своем любимом эмуляторе, вы можете установить ее после входа в систему.

$ export LANG=de_AT.UTF-8

Очевидно, вам нужно выбрать правильную настройку LANG для вашего местоположения и предпочтений.

У меня все еще была проблема с SecureCRT, несмотря на правильные настройки хоста. Решил это, установив Параметры сеанса... -> Терминал -> Внешний вид -> Кодировка символов от "По умолчанию" до "UTF-8".

Другие вопросы по тегам