Hvordan laver jeg Emacs dired mode display unicode tegn i Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har emacs 23.3 kører på Windows XP, og jeg arbejder på nogle filer, hvis filnavne indeholder en kombination af engelsk & devanagari eller tamilske tegn (fx que.प्रश्न.txt eller ans.பதில்.txt).


Når jeg besøger den mappe, der indeholder denne fil i Dired, vises disse filnavne ikke korrekt, selvom jeg kan se navne i Windows Explorer. Dired viser navne som 'deva ~ 1.txt' for filnavne, der begynder med engelske tegn men i tilfælde af navne, der er fuldt sammensat af ikke-engelske tegn, vises det som '47d1 ~ 1.txt'.


Jeg antager, at dette har noget at gøre med, hvad Windows internt vender tilbage til emacs, men jeg bemærker at kørsel dir på kommandoprompt i samme mappe viser de fulde navne (selvom cmd bare gør alle ikke-engelske tegn som ? symbol).


Er der alligevel jeg kan aktivere dired til at gøre filnavne med ikke-engelske tegn korrekt?

Bedste reference


Det er faktisk en begrænsning af Emacs implementering. Emacs bruger Windows primitiver, der går tilbage til før Unicode, så ethvert filnavn med tegn, der ikke kan kodes i din 'codepage', vil blive erstattet med det manglede foo ~ 1 navn (hvis dit filsystem er VFAT) eller noget andet i andre tilfælde. Forhåbentlig vil vi snart skifte til de 'nye' Windows-primitiver, der bruger UTF-16 (IIRC) og ikke længere lider af sådanne problemer. Men du må måske vente på Emacs-25.1 for det. Det kan ske før, hvis du giver os en hånd, tho ;-)