ssh и кодировка символов

Когда я вхожу в мой VPS, у меня работает irssi на экране. Когда кто-то отправляет символ юникода (например, © или €), irssi отображает мусор, когда я использую его через экран в сеансе ssh . Если я подключусь к этому irssi используя прокси-модуль irssi, от irssi, запущенного на моем локальном компьютере, он отображается правильно.

Аналогично, если я запускаю ghci на своем VPS (вне экрана) и вхожу в один из этих символов, он сбой.

Итак, очевидно, что есть некоторая проблема кодирования символов с моим подключением к моему VPS, либо в ssh, либо в настройке системы.

Как я могу узнать, что вызывает это, и решить его?

Детали:

Клиентская система

  • Arch Linux x64
  • Кодировка UTF-8

Система VPS

  • Сервер Ubuntu 10.04
  • Используется неизвестная кодировка. Как мне это найти? (Мне просто нужно посмотреть в моем /etc/rc.conf для Arch)

  • ssh на сервер, у которого есть сломанная установка bash
  • Какой алгоритм ключа хоста лучше всего использовать для SSH?
  • Как удалить файл на удаленном компьютере через SSH с помощью сценария оболочки?
  • ssh_exchange_identification: read: Сброс соединения с помощью одноранговой сети
  • HURD: Почему удаленный процесс не убит?
  • псевдо-интерактивный скрипт ssh
  • ssh tunnel w / auth только для прокси
  • Как rysnc работает над ssh?
  • 2 Solutions collect form web for “ssh и кодировка символов”

    Запуск команды locale даст вам информацию о ваших настройках локали; кодировка символов задается установкой LC_CTYPE .

    В Ubuntu настройки локали по умолчанию задаются в /etc/default/locale . Вы можете изменить кодировку символов, установив LC_CTYPE в свой файл ~/.profile на VPS, например

     export LC_CTYPE=en_US.UTF-8 

    Вы должны убедиться, что en_US.UTF-8 доступна. Ubuntu генерирует только локальные данные для запрошенных локалей. Все английские локали должны быть доступны, если у вас установлен пакет language-pack-en-base . Вы можете вручную запросить свое поколение с помощью

     sudo locale-gen en 

    Вы также можете добавить записи в /var/lib/locales/supported.d/local чтобы убедиться, что определен определенный языковой стандарт (например, добавьте строку en_US.UTF-8 UTF-8 ).

    в действительности значение, указанное в LC_CTYPE, является именем локали. Обычно, но не требуется, что кодировка кодировки должна быть в имени.

    Но если вы хотите, конечно, знать кодировку, тогда команда locale -k charmap .

     ~$ LC_CTYPE=C locale -k charmap charmap="ANSI_X3.4-1968" ~$ LC_CTYPE=fr_BE locale -k charmap charmap="ISO-8859-1" 

    (обратите внимание, как кодировка не отображается в значениях LC_TYPE выше).

    Interesting Posts

    Выход из учетной записи пользователя после выполнения программы

    Беспроводное соединение в kali linux

    Функция CentOS 5.6 в режиме реального времени без многократного выполнения команды даты

    Автоматически устанавливать атрибут append для вновь созданных файлов / папок?

    Могу ли я заставить SSH использовать программу askpass, даже если она была запущена с терминала?

    Будет ли использование сжатой файловой системы над зашифрованным томом повысить производительность?

    Как проверить, представлены ли драйверы контроллера шины CAN в моем Debian Wheezy?

    Время TFTP в CentOS 7

    Grub2 не видит мой второй жесткий диск

    Я не могу открыть терминал в Cinnamon

    Что значит запускать процесс в фоновом режиме?

    Как можно перечитать образ с dd, чтобы он соответствовал тому, который вы только что написали?

    Как скомпилировать загруженный .zip-файл

    В состоянии Bash if, как проверить, существуют ли какие-либо файлы, соответствующие простому шаблону?

    Лог вращения в Linux

    Linux и Unix - лучшая ОС в мире.