【问题标题】:How do I make Emacs dired mode display unicode characters in windows?如何让 Emacs dired 模式在 Windows 中显示 unicode 字符?
【发布时间】:2012-04-02 01:26:23
【问题描述】:

我在 Windows XP 上运行 emacs 23.3,并且我处理一些文件名包含英语和梵文或泰米尔语字符组合的文件(例如,que.प्रश्न.txtans.பதில்.txt)。

当我在 Dired 中访问包含此文件的目录时,这些文件名无法正确显示,即使我可以在 Windows 资源管理器中看到这些文件名。对于以英文字符开头的文件名,Dired 显示类似“deva~1.txt”的名称,但如果名称完全由非英文字符组成,它会显示类似“47d1~1.txt”的内容。

我想这与 Windows 内部返回给 emacs 的内容有关,但我注意到在同一目录下的命令提示符上运行 dir 会显示全名(即使 cmd 只是呈现所有非英文字符作为? 符号)。

无论如何我可以启用 dired 以正确呈现包含非英文字符的文件名吗?

【问题讨论】:

  • 我发现 dired 显示空格代替 unicode 字符,在 NTEmacs 和 Linux 上都是这种情况。

标签: windows emacs unicode multibyte dired


【解决方案1】:

这实际上是 Emacs 实现的一个限制。 Emacs 使用可追溯到 Unicode 之前的 Windows 原语,因此任何带有无法在“代码页”中编码的字符的文件名都将替换为损坏的 foo~1 名称(如果您的文件系统是 VFAT)或其他情况下的其他名称。希望我们能很快切换到使用 UTF-16 (IIRC) 的“新”Windows 原语,并且不再遭受此类问题的困扰。但是你可能需要等待 Emacs-25.1 才能做到这一点。如果您帮助我们,它可能会更快发生;-)

【讨论】:

  • Stefan,感谢您的明确回答。我真的很想看到这个以及对 emacs 的一些其他与 unicode 相关的改进。我愿意尽我所能提供帮助。
  • @koushik:那么,如果您有在 Windows 中编写 C 代码的经验,请加入我们的 emacs-devel 邮件列表。
  • Stefan...gnu.org/software/emacs/manual/html_node/emacs/… 它说 emacs 确实使用 Unicode 原语,但不是在 24.3 中,或者至少我有一些文件由于它们的命名而无法打开。当前的真实故事是什么? v25 还在路上吗?
  • 实际上,我们的英雄 Eli 在 24.4 中实现了它。
  • @Stefan:似乎不起作用:emacs.stackexchange.com/questions/15303/…
猜你喜欢
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 2011-01-22
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
相关资源
最近更新 更多