Как заставить Emacs Dired Mode отображать символы Unicode в Windows? - PullRequest
4 голосов
/ 16 марта 2012

У меня emacs 23.3 работает на Windows XP, и я работаю с некоторыми файлами, имена файлов которых содержат комбинацию символов английского языка и деванагари или тамильского языка (например, que.प्रश्न.txt или ans.பதில்.txt).

Когда я захожу в каталог, содержащий этот файл в Dired, эти имена файлов отображаются неправильно, хотя я вижу их в проводнике Windows. Dired отображает такие имена, как «deva ~ 1.txt» для имен файлов, начинающихся с английских символов, но в случае имен, полностью состоящих из неанглийских символов, отображается что-то вроде «47d1 ~ 1.txt».

Полагаю, это как-то связано с тем, что Windows внутренне возвращает в emacs, но я заметил, что при запуске dir в командной строке в том же каталоге отображаются полные имена (хотя cmd просто отображает все неанглийские символы как ? символ).

Можно ли в любом случае разрешить dired правильно отображать имена файлов с неанглийскими символами?

1 Ответ

4 голосов
/ 21 марта 2012

На самом деле это ограничение реализации Emacs.Emacs использует примитивы Windows, которые датируются до Unicode, поэтому любое имя файла с символами, которые не могут быть закодированы в вашей «кодовой странице», будет заменено искаженным именем foo ~ 1 (если ваша файловая система VFAT) или чем-то еще в других случаях.Надеемся, что вскоре мы переключимся на «новые» примитивы Windows, которые используют UTF-16 (IIRC) и больше не будут страдать от таких проблем.Но вам, возможно, придется подождать Emacs-25.1 для этого.Это может произойти раньше, если вы дадите нам руку, хотя; -)

...