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

16

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

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

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

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

Детали:

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

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

Система VPS

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

Ответы:

18

Запуск 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).

Жиль "ТАК - прекрати быть злым"
источник
3

фактически значение, указанное в 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 выше).

Пабло Саратчага
источник