Bre*_*ugh 6 keyboard emacs emacsw32 utf-8
我的朋友说服我用 emacs “再试一次”(大约 12 年来的第 5 次)。我目前有点受苦,需要 emacs + utf-8 的帮助。
我正在使用我自己的自定义键盘布局(使用 MS 键盘布局创建器构建)在 Windows 7 上运行 23.3.1 emacs gui。布局具有完整的 ISO-8859-1 (Latin-1) 字符集,以及来自 ISO-8859-9(Latin-5、??? 等土耳其语)和 ? 威尔士语(不知道那个人住在哪里)。
在我的 .emacs 中,我(盲目地)添加了以下几行:
(更新:这是最新的发展混乱:)
;; set up unicode
;; keyboard / input method settings
(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(set-language-environment 'UTF-8) ; prefer utf-8 for language settings
(set-default-coding-systems 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))
(prefer-coding-system 'utf-8)
(setq buffer-file-coding-system 'utf-8-unix)
(setq default-file-name-coding-system 'utf-8-unix)
(setq default-keyboard-coding-system 'utf-8-unix)
(setq default-process-coding-system '(utf-8-unix . utf-8-unix))
(setq default-sendmail-coding-system 'utf-8-unix)
(setq default-terminal-coding-system 'utf-8-unix)
Run Code Online (Sandbox Code Playgroud)
现在,当我进入从ISO Latin-1的从键盘字符,它们被接受没有问题,但是从外面Latin-1的字符被“翻译”成近似字符在Latin-1的。因此,例如,Latin-5“?” 被转换为普通的“g”。
但是,剪切和粘贴工作正常。
谁能告诉我我做错了什么?我想用带有 BOM 的 emacs utf-8 做我所做的一切。
这似乎是代码页的问题(因此特定于 Windows),因为 Emacs 内部使用旧的 Windows API,这些 API 只能返回属于您的代码页的字符(因此 Windows 在将其传递给 Emacs 之前变成\xc4\x9f
了普通字符)。g
AFAIK 在较新的 Emacsen 中不再出现这种情况(我们现在使用较新的 API,它们使用某种 Unicode,可能是 UTF-16)。
\n 归档时间: |
|
查看次数: |
2997 次 |
最近记录: |