Китайские иероглифы в emacs --no-window-system на windows - PullRequest
0 голосов
/ 22 апреля 2019

Я недавно начал использовать emacs на Android в Termux. В моих проектах есть несколько китайских иероглифов, которые отображаются там просто отлично.

Emacs in Termux

Когда позже открывал этот же файл в Emacs для Windows, я был разочарован тем, что они отображались как \xxxx

Emacs on Windows

Я не уверен, как искать решение, потому что я не знаю, в чем проблема.

Единственное, что я нашел в связи с моей проблемой, это:

Символы Юникода в режиме терминов emacs

но это не помогло мне решить проблему.

1 Ответ

1 голос
/ 24 апреля 2019

Вы можете узнать, что происходит, посмотрев на первые несколько символов в строке режима. В Termux написано UUU, а в Windows - DDU. Эти три символа обозначают:

  1. система кодирования для ввода с клавиатуры
  2. система кодирования для вывода на терминал
  3. система кодирования файла в буфере

U обозначает UTF-8, тогда как D обозначает различные кодовые страницы DOS. (Вы можете найти это, используя M-x list-coding-systems. Все это описано в разделе «Строка режима» руководства Emacs .)

Таким образом, это означает, что Emacs правильно читает файл, но считает, что терминал не может отображать китайские иероглифы, поэтому он использует обозначение \uxxxx в качестве запасного варианта. Я не уверен, как заставить это работать правильно в терминале Windows, но попробуйте M-x set-terminal-coding-system с utf-8 - это может просто сработать.


Кроме того, если вы запускаете Emacs как «обычное» приложение Windows, а не в терминале, символы должны отображаться правильно автоматически, поэтому, если есть какая-то конкретная проблема, мешающая вам сделать это, возможно, стоит попытаться исправьте это вместо этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...