Назад | Перейти на главную страницу

Как включить символы типа [Æ, Ø, Å] в PuTTY / Debian?

Я использую VIM через PuTTY для работы на моем сервере разработки, но это становится довольно сложно, когда мне приходится работать с файлами, содержащими символы, подобные упомянутым в заголовке. Мало того, что VIM выглядит так

Denne applikasjonen krever и Javascript и активен. Вы можете использовать крапиву с более сильным JavaScript или активировать JavaScript, если хотите использовать крапиву.

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

Файлы, которые я редактирую, используют кодировку ISO-8859-1.

root@foo:~/www/pltest# file --mime-encoding index.php
index.php: iso-8859-1

И PuTTY настроен на ожидание ISO-8859-1 в Настройки-> Окно-> Перевод. Так что единственной проблемой может быть Debian. Если я попытаюсь ввести в консоль любой из вышеперечисленных символов, появится случайное:

root@foo:~/www/pltest# ���������

Есть идеи, как я могу заставить Debian разрешить символы ISO-8859-1?


Решил (Частично)! По-видимому, отобразить символы было так же просто, как распечатать /etc/locale.alias, найти мой языковой стандарт в списке и установить соответствующий языковой код (в моем случае nb_NO.ISO-8859-1) для переменной среды LANG. Однако я все еще не могу тип символы в окно PuTTY. Каждый раз, когда я пытаюсь это сделать, я слышу сообщение об ошибке Windows.

Любые идеи?

Чтобы символы, отличные от ASCII, работали, все участвующие программы должны использовать одну и ту же кодировку символов. Необходимо установить кодировку:

  • 1) в Putty (вы это сделали)
  • 2) в удаленной системе (обычно путем установки переменной env LANG на подходящую локаль)

Тогда использование на консоли не-ASCII должно работать.

Настройки vim (по большей части) от этого не зависят. vim имеет собственную внутреннюю настройку для кодирования файлов, которые он редактирует, и автоматически перекодирует текст, чтобы он соответствовал системным настройкам (то есть языку, установленному с использованием LANG).

Чтобы решить вашу проблему:

Вы, по-видимому, позаботились о 1) и 2), установив ту же кодировку в Putty и используя LANG. Теперь редактирование файла с символами, отличными от ASCII, должно работать в vim, при условии, что vim знает, какую кодировку имеет файл (либо путем автоматического определения, либо путем выполнения :set fileencoding=UTF-8 и т. д. в vim).

Что касается "получения звонка при вводе символов, отличных от ASCII": вам может потребоваться поставить set input-meta on в ваш ~/.inputrc (это сообщает библиотеке readline и, следовательно, bash, что вы хотите вводить не-ASCII-файлы), но большинству современных дистрибутивов Linux это больше не нужно.

Попробуйте посмотреть, принимают ли другие программы, такие как vim, файлы, отличные от ASCII, - это должно сказать нам, в чем проблема.

Последнее замечание:

Хотя установка языкового стандарта на использование ISO 8859-1, безусловно, работает, в долгосрочной перспективе обычно лучше использовать UTF-8. UTF-8 работает практически для любого языка, не только для западных языков, и быстро становится стандартом для современных дистрибутивов Linux.

Обратите внимание, что вы по-прежнему можете работать с файлами в кодировке ISO в vim, поскольку vim может автоматически перекодировать (часто он даже автоматически определяет, что файл не в UTF-8).

Хорошо, у меня такая же проблема при попытке ввести символы, отличные от ASCII, в Putty в системе на основе Debian (сервер Ubuntu). Мое исправление работает полностью и выглядит следующим образом:

1) Изменен набор символов на UTF-8 в Putty в Настройки-> Окно-> Перевод
2) Подтверждено, что переменная среды $ LANG установлена ​​на en_us.UTF-8 на сервере
3) Создал ~ / .inputrc со следующими параметрами:

set input-meta on
set output-meta on
set convert-meta off 
set enable-meta-key on

4) Выйдите из системы, войдите снова (не уверен, что это необходимо)
5) Теперь я могу копировать / вставлять символы, отличные от ASCII, в терминал, и я могу успешно использовать мета-ключ, чтобы вручную вводить такие символы, как: ƒ, å, Ü ...

См. Следующую «страницу руководства», где более подробно описаны параметры, которые я использовал на шаге 3: http://www.gnu.org/software/bash/manual/html_node/Readline-Init-File-Syntax.html

Надеюсь, это кому-то поможет. Ура.