Со мной произошло то же самое. Основываясь на том, что сказал Томас выше, я смог исправить это, откомментировав en_US.UTF-8 UTF-8
в моем /etc/locale.gen
файле (ранее ни одна из строк не была откомментирована), затем запустив locale-gen
.
С помощью perl
вывести символ в кодовой таблице локали:
perl -Mopen=locale -le 'print chr($_) for 0x13000 .. 0x130ff'
Для некоторых кодовых таблиц (не UTF-8) я видел, что perl
делает это неправильно. В качестве альтернативы вы можете сделать:
perl -e 'print pack("L>2", $_, 10) for 0x13000 .. 0x130FF' |
iconv -f UCS-4BE
чтобы системный iconv
выполнил перевод (в случае с египетскими иероглифами я не ожидаю, что многие кодовые таблицы помимо UTF-8 будут поддерживать их в любом случае). Это было бы эквивалентно тому, что zsh
/bash
для своих $'\UXXXXXX'
.
Для вывода их в UTF-8 независимо от кодовой таблицы локали:
perl -CO -le 'print chr($_) for 0x13000 .. 0x130ff'
Ваш
perl -C -le 'print chr 0x130F0'
будет работать, пока кодовая таблица локали равна UTF-8 (проверьте вывод locale charmap
).
Он выведет символ. Теперь вам также нужен шрифт с этим EGYPTIAN HIEROGLYPH E026 символом, и ваш эмулятор терминала, настроенный на использование этого шрифта, если вы хотите, чтобы он там отображался.
В Debian и производных посмотрите на пакет fonts-ancient-scripts
.