непечатаемые символы на справочных страницах и журналах

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

E2 9F A8 ...email address... E2 9F A9

и имя автора

F r C3 A9 d C3 A9 r i c k

, где числа являются шестнадцатеричными значениями. Я не смог найти эти значения в юникоде, поэтому я не уверен, что это такое. Когда я использую их как управляющие последовательности, я получаю следующее:

M-b M-^ M-^_ M-(  ... email address ... M-b M-^_ M-)

Как я могу правильно перевести вывод? Обратите внимание, что моя локаль установлена ​​​​как:

LANG=en_US.UTF-8

$TERM - «linux», и я использую виртуальную консоль на самой машине.

0
28.01.2019, 03:01
1 ответ

По сути, хотя вы, комментаторы, не указываете это явно, ваша справочная страница отформатирована с использованием UTF -8 символов. В зависимости от различных вещей, это может быть исправлено с помощью

  1. Предположим, что вы хотите использовать американский английский на своих справочных страницах,

    LC _CTYPE=C man все, что вы хотели найти

должен подавлять такое поведение. Судя по вашей биографии, вам может понравиться этот вариант. Вы можете указать LC _ALL вместо LC _CTYPE, если у вас не установлен LC _CTYPE. И, как и все переменные среды, вы можете установить это в своей оболочке, и оно будет действовать для всех ваших команд.

Другой параметр локали, который отключит это, — en _US, и если вам не нужен американский английский, то есть множество других локалей, многие из которых имеют.UTF -8 и, предположительно, не не делайте UTF -8 без него.

  1. Если ваш консольный шрифт имеет отображение юникода для рассматриваемых символов, вы можете просто набрать -rв своем справочном пейджере, и ваш пейджер отобразит правильный символ. Тем не менее, эта настройка не лишена риска; это позволяет любым последовательностям управления терминалом в документе, который вы просматриваете, вступить в силу. Вы должны быть в безопасности, делая это при просмотре справочных страниц, но если вы просматриваете файлы из ненадежных источников или просматриваете файлы со случайными данными в них, это может заблокировать вашу консоль или что-то похуже. (Существуют некоторые управляющие последовательности терминала, позволяющие файлу, отображаемому на консоли, помещать символы в буфер клавиатуры, чтобы они вступали в силу, как если бы вы их набрали, как только буфер клавиатуры будет прочитан. Я не знаю, поддерживает ли виртуальная консоль Linux что-либо из этого или нет.)

Я думаю, что это то, что люди больше замечают из-за того, что дистрибутивы Linux переключились на использование по умолчанию UTF -8, а не выключенное. Между тем, консоль Linux по-прежнему поддерживает только 512 символов в шрифте.и это только в том случае, если половина из 16 цветов отключена. Что касается других проблем, связанных с появлением Unicode, то шрифты X Window поддерживают только 64 000 символов, в то время как в Unicode их намного больше, чем 64 000 символов.

0
28.01.2020, 04:03

Теги

Похожие вопросы