Специальные символы в Emacs Dired и вложения в Windows 7: вместо \ "ü" отображается "\ 374"

755
MostlyHarmless

Я хочу использовать dired+в Emacsдля просмотра пути каталогов на Windows 7.

У меня проблемы со специальными символами, такими как äöü в diredрежиме и в путях прикрепления:

Dired

  • Когда я пытаюсь получить доступ к каталогу M-x dired, отображаемый путь содержит странные символы, такие как, например,

    • "\ 374" для "ü"
    • или "\ 366" для "ö".

То же самое верно для каталогов и списков файлов, отображаемых dired.

Есть ли настройка, которая позволяет diredотображать символы с правильной кодировкой?

Пути крепления

моя другая проблема, кажется, связана * :

  • В настоящее время я добавил длинный путь к серверу в качестве каталога вложений в режиме org, например //servername/dir1/dir2/dir2/dir4/etcetera/Zubehör/ (обычно я копирую путь UNC в проводнике Windows 7 с контекстным меню PathCopy)

Путь показывается так: ATTACH_DIR: в свойствах с правильно отображенным «ö». Однако, когда я печатаю, C-c C-a C-fчтобы открыть каталог в Windows Explorer, он создает новый каталог по тому же пути с именем ZubehÃhr, а затем открывает этот вместо правильного.

Как я могу решить эти 2 проблемы?

3

1 ответ на вопрос

3
Drew

This is an Emacs bug, not a Dired+ bug, I believe. Emacs on Windows cannot handle Unicode chars in file names. This has been filed as a bug since at least 2010, but it was relegated to the "wishlist", so it's unclear when or whether it will ever be fixed.

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15236

Description of a possible fix

The problem is that the mainline Emacs code uses APIs that don't accept wide characters. Examples include 'stat', 'access', 'open', 'fopen', etc. To fix the problem, we'd need to provide our own implementation of these APIs that would accept a UTF-8 encoded file name, then re-encode the file name in UTF-16, and call the Unicode APIs as part of the implementation. This is a large job.

source: Subject: Re: AW: bug#12807: 24.2; Emacs cannot edit file with funny Unicode characters in the file name on Windows; Date: Tue, 06 Nov 2012 05:57:45 +0200

solved in Emacs 24.4

IT finally works in Gnu Emacs 24.4

Спасибо за вашу помощь! Однако мне интересно, как эта важная функция может быть в «списке пожеланий» в течение многих лет. Это важная функция, которая заставляет меня задуматься о том, нужно ли мне прекратить использовать Emacs в Windows. Я всегда избегаю специальных символов в именах файлов и путей, но мне приходится работать с сетевыми дисками, где другие люди хранят информацию, которая не заботится об этом. Можно ли пожертвовать деньги на исправление особой проблемы (например)? MostlyHarmless 11 лет назад 0
Скажите Emacs Dev - каждый голос помогает. Но FWIW, это ответ, который я получил, когда сказал сегодня то же самое в [ветке ошибок] (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15236#18): * «Список желаний» просто означает, что это отсутствующая функция, а не ошибка в существующей функции. Это ничего не говорит о важности отсутствующей функции. * Drew 11 лет назад 1
да, я прочитал эту дискуссию. Большое спасибо за вашу помощь! MostlyHarmless 11 лет назад 0