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".