Специальные символы не отображаются в TTY

Ответ на ваш вопрос здесь

Вы должны добавить строку монтирования в файле /etc/profile, чтобы сделать постоянным монтировку при каждом входе в систему.

1
задан 28 February 2012 в 06:40

4 ответа

Я просто скопировал символы из вашего примера и повторил их в окне терминала:

Я думаю, что TTY не имеют такой поддержки символов, поэтому шрифт может быть шрифтом вопрос.

3
ответ дан 25 May 2018 в 13:58
  • 1
    Определенно проблема с шрифтом. Пока терминал использует кодировку utf-8, он сможет обрабатывать любые символы utf-8, хотя, если шрифт не имеет символа для данного символа, он будет отображаться как прямоугольник. – geirha 24 February 2012 в 23:03
  • 2
    На самом деле я использую серверную версию, а не рабочий стол. Та же проблема возникает, когда я подключаюсь к окнам с помощью Putty или SecureCRT. Я пробовал все пропорциональные шрифты в Putty. Некоторые из них частично показывают символы, но не могут найти шрифт, который отображает все символы. Региональные настройки установлены на английском (США) на стороне Putty. – Pablo 25 February 2012 в 08:56
  • 3
    @Pablo Вы пробовали шрифт Ubuntu? ( font.ubuntu.com ) Насколько я знаю, терминал использует Ubuntu mono. – lgarzo 27 February 2012 в 18:06
  • 4
    @lgarzo: Я обновил оригинальное сообщение с снимком экрана. Как вы видите, большинство символов не отображается. Я прикрепил проблему к тому, чтобы найти шрифт Unicode, поддерживающий unianode ranga 2000-29FF в соответствии с Wiki ru.wikipedia.org/wiki/Unicode_fonts . Пока Everson Mono является самым близким, но faaaar от вашего скриншота. Во-вторых, DejaVu Sans Mono, но не хватает многих символов и не ясен. Озадаченный ... – Pablo 27 February 2012 в 18:24
  • 5
    @Pablo Я попробовал PuTTY в Linux, он работает (получил те же результаты, что и на скриншоте выше). Однако в Windows PuTTY, похоже, есть разные идеи о кодировании шрифтов, несмотря на то, что UTF-8 выбран на странице перевода. (Даже веб-страница шрифта не может отображать все необходимые символы в браузере). Если TTF в zip совпадают с шрифтом в Ubuntu, я не могу сказать, что происходит неправильно. – lgarzo 27 February 2012 в 18:52

Я поддерживаю @lgarzo. Вы можете попробовать несколько более крупных шрифтов, особенно восточных:

$ aptitude install ttf-wqy-microhei
0
ответ дан 25 May 2018 в 13:58
... putty (UTF8 + Использовать Unicode ...

Вместо использования шестнадцатеричной escape-последовательности, может быть, проще использовать фактические символы для проверки для резидентных шрифтов (если персонаж не хватает этого является оксюмороном, поскольку его невозможно будет выбрать! - что означает, что исходная машина должна создать в ней файл с нужными символами, а затем отобразить этот файл с целевой машиной).

Запрограммированное генерирование глифов также может быть выполнено с использованием пар символов / UTF для юникодов путем извлечения UTF-8 или UTF-16:

    python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚"'
    ⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚
    python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚".decode("unicode_escape")'
    â Ⱐ⣿ ⡠⯠â ⺠⤴ ⤵ â â
    python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚".decode("unicode_escape")
                                                   .encode("unicode_escape")'
    \xe2\x8c\x98 \xe2\x9c\xb0 \xe2\xa3\xbf \xe2\x9a\xa1 \xe2\x98\xaf \xe2\x9a\x91
    \xe2\x86\xba \xe2\xa4\xb4 \xe2\xa4\xb5 \xe2\x88\x86 \xe2\x8c\x9a
    python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚".decode("unicode_escape")
                                                   .encode("unicode_escape")
                                                       .decode("string_escape")'
    ⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚

    python
    Python 2.7.3 (default, Apr 20 2012, 22:44:07) 
    [GCC 4.6.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> u"⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚"
    u'\u2318 \u2730 \u28ff \u26a1 \u262f \u2691 \u21ba \u2934 \u2935 \u2206 \u231a'
[d9 ] Глифы Unicode могут быть отображены с использованием UTF-8 или UTF-16 , поэтому Unicode U+2318 или UTF-16: 0x2318 или ⌘ есть UTF-8: 0xE2 0x8C 0x98

Детали шрифта для символа могут можно найти в буквальном порядке в character map. Он запускается как утилита значка или активируется с помощью команды терминала gnome-character-map или gucharmap. Нажмите и удерживайте правую кнопку мыши над символом, чтобы определить шрифт проживания. Кроме того, используйте Show only glyphs in this font в меню View, а затем прокрутите список шрифтов wit h клавиша со стрелкой, чтобы быстро найти шрифт персонажа с другими резидентными символами.

oops previous answer below повторяет очевидное - смотрел на ответы, а не на вопрос

ubuntu@ubuntu:~$ echo '☢ ☍ ⌘ ✰ ⣿ ⚡ ☯ ⚑  ↺  ⤴  ⤵'
☢ ☍ ⌘ ✰ ⣿ ⚡ ☯ ⚑  ↺  ⤴  ⤵

и [!d18 ]

python -c 'print u"\xbf  \n FreeSerif\n"  \
  u"\u2019 \u201d \u219f \u21a1 \u21af \u21ba \u21c5 \u21e1 \u21e3 \n" \
  u"\u2206 \u2207 \u2240 \u229b \u22c5 \u22c5\u22c5 \u2318 \u231a \n"  \
  u"\u25aa \u25b9 \u25cc \u25d4 \n"   \
  u"\u260d \u2622 \u262f \u2639 \u266f \u267a \u2691 \u2692 \u26a0 \u26a1 \u26af \n" \
  u"\u2780 \u2781 \u2782 \u2783 \u2784 \u2785 \u2786 \u2787 \u2788 \u2789 \n"  \
  u"\u2707 \u2716 \u2730 \u2a02 \n DejaVu\n"   \
  u"\u2801 \u2809 \u280b \u281b \u281f \u283f \u287f \u28ff \n"  \
  u"\u2934 \u2935 \u254d   \n".encode("utf8")'

печать

¿  
 FreeSerif
’ ” ↟ ↡ ↯ ↺ ⇅ ⇡ ⇣ 
∆ ∇ ≀ ⊛ ⋅ ⋅⋅ ⌘ ⌚ 
▪ ▹ ◌ ◔ 
☍ ☢ ☯ ☹ ♯ ♺ ⚑ ⚒ ⚠ ⚡ ⚯ 
✇ ✖ ✰ ⨂ 
➀ ➁ ➂ ➃ ➄ ➅ ➆ ➇ ➈ ➉ 
 DejaVu
⠁ ⠉ ⠋ ⠛ ⠟ ⠿ ⡿ ⣿ 
⤴ ⤵ ╍   

используя gnome-terminal

ubuntu@ubuntu:~$ echo \$TERM = $TERM \  \$LANG = $LANG
$TERM = xterm   $LANG = en_US.UTF-8

и

ubuntu@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04 LTS
Release:    12.04
Codename:   precise
ubuntu@ubuntu:~$ 

примечание: EOT и ENQ символы wrong ref:

python -c 'print u"This is ^D EOT (NB!! no ;) \u2404 and ENQ ^E \u2405 ".encode("utf8")'
This is ^D EOT (NB!! no ;) ␄ and ENQ ^E ␅ 
0
ответ дан 25 May 2018 в 13:58

... putty (UTF8 + Использовать Unicode ...

Вместо использования шестнадцатеричной escape-последовательности, возможно, проще использовать фактические символы для проверки резидентных шрифтов (если символ отсутствует, это оксюморон, поскольку его невозможно будет выбрать!), что означает, что исходный компьютер должен создать файл с нужными символами в нем, а затем отобразить этот файл с целевой машиной).

Запрограммированное генерирование глифов также может быть выполнено с использованием пар символов / UTF для юникодов путем извлечения UTF-8 или UTF-16:

    python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚"'
    ⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚
    python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚".decode("unicode_escape")'
    â Ⱐ⣿ ⡠⯠â ⺠⤴ ⤵ â â
    python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚".decode("unicode_escape")
                                                   .encode("unicode_escape")'
    \xe2\x8c\x98 \xe2\x9c\xb0 \xe2\xa3\xbf \xe2\x9a\xa1 \xe2\x98\xaf \xe2\x9a\x91
    \xe2\x86\xba \xe2\xa4\xb4 \xe2\xa4\xb5 \xe2\x88\x86 \xe2\x8c\x9a
    python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚".decode("unicode_escape")
                                                   .encode("unicode_escape")
                                                       .decode("string_escape")'
    ⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚

    python
    Python 2.7.3 (default, Apr 20 2012, 22:44:07) 
    [GCC 4.6.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> u"⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚"
    u'\u2318 \u2730 \u28ff \u26a1 \u262f \u2691 \u21ba \u2934 \u2935 \u2206 \u231a'

Глифы Unicode могут отображаться с использованием UTF-8 или UTF-16, таким образом, Unicode U+2318 или UTF-16: 0x2318 или есть UTF-8: 0xE2 0x8C 0x98

Детали шрифта для символа могут можно найти в буквальном порядке в character map. Он запускается как утилита значка или активируется с помощью команды терминала gnome-character-map или gucharmap. Нажмите и удерживайте правую кнопку мыши над символом, чтобы определить шрифт проживания. Кроме того, используйте Show only glyphs in this font в меню View, а затем прокрутите e список шрифтов со стрелкой, чтобы быстро найти шрифт персонажа с другими резидентными символами.

в предыдущем ответе ниже повторяет очевидное - рассматривал ответы, а не вопрос


ubuntu@ubuntu:~$ echo '☢ ☍ ⌘ ✰ ⣿ ⚡ ☯ ⚑  ↺  ⤴  ⤵'
☢ ☍ ⌘ ✰ ⣿ ⚡ ☯ ⚑  ↺  ⤴  ⤵

и

python -c 'print u"\xbf  \n FreeSerif\n"  \
  u"\u2019 \u201d \u219f \u21a1 \u21af \u21ba \u21c5 \u21e1 \u21e3 \n" \
  u"\u2206 \u2207 \u2240 \u229b \u22c5 \u22c5\u22c5 \u2318 \u231a \n"  \
  u"\u25aa \u25b9 \u25cc \u25d4 \n"   \
  u"\u260d \u2622 \u262f \u2639 \u266f \u267a \u2691 \u2692 \u26a0 \u26a1 \u26af \n" \
  u"\u2780 \u2781 \u2782 \u2783 \u2784 \u2785 \u2786 \u2787 \u2788 \u2789 \n"  \
  u"\u2707 \u2716 \u2730 \u2a02 \n DejaVu\n"   \
  u"\u2801 \u2809 \u280b \u281b \u281f \u283f \u287f \u28ff \n"  \
  u"\u2934 \u2935 \u254d   \n".encode("utf8")'

печатает

¿  
 FreeSerif
’ ” ↟ ↡ ↯ ↺ ⇅ ⇡ ⇣ 
∆ ∇ ≀ ⊛ ⋅ ⋅⋅ ⌘ ⌚ 
▪ ▹ ◌ ◔ 
☍ ☢ ☯ ☹ ♯ ♺ ⚑ ⚒ ⚠ ⚡ ⚯ 
✇ ✖ ✰ ⨂ 
➀ ➁ ➂ ➃ ➄ ➅ ➆ ➇ ➈ ➉ 
 DejaVu
⠁ ⠉ ⠋ ⠛ ⠟ ⠿ ⡿ ⣿ 
⤴ ⤵ ╍   

с использованием gnome-terminal

ubuntu@ubuntu:~$ echo \$TERM = $TERM \  \$LANG = $LANG
$TERM = xterm   $LANG = en_US.UTF-8

и

ubuntu@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04 LTS
Release:    12.04
Codename:   precise
ubuntu@ubuntu:~$ 

note: EOT и Символы ENQ неверны ref: Как можно скорректировать символы Unicode u + 2404 ␄ EOT и u + 2405 ␅ ENQ?

python -c 'print u"This is ^D EOT (NB!! no ;) \u2404 and ENQ ^E \u2405 ".encode("utf8")'
This is ^D EOT (NB!! no ;) ␄ and ENQ ^E ␅ 
0
ответ дан 15 August 2018 в 20:06

Другие вопросы по тегам:

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