4

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

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

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

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

4

1 回答 1

4

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

于 2012-03-21T16:55:48.050 回答