[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
27.13 Coding Systems for File Names
- C-x <RET> F coding <RET>
Use coding system coding for encoding and decoding file names.
The variable file-name-coding-system
specifies a coding
system to use for encoding file names. It has no effect on reading
and writing the contents of files.
If you set the variable to a coding system name (as a Lisp symbol or
a string), Emacs encodes file names using that coding system for all
file operations. This makes it possible to use non-ASCII
characters in file names—or, at least, those non-ASCII
characters which the specified coding system can encode. Use C-x
<RET> F (set-file-name-coding-system
) to specify this
interactively.
If file-name-coding-system
is nil
, Emacs uses a
default coding system determined by the selected language environment.
In the default language environment, any non-ASCII
characters in file names are not encoded specially; they appear in the
file system using the internal Emacs representation.
Warning: if you change file-name-coding-system
(or the
language environment) in the middle of an Emacs session, problems can
result if you have already visited files whose names were encoded using
the earlier coding system and cannot be encoded (or are encoded
differently) under the new coding system. If you try to save one of
these buffers under the visited file name, saving may use the wrong file
name, or it may get an error. If such a problem happens, use C-x
C-w to specify a new file name for that buffer.
If a mistake occurs when encoding a file name, use the command M-x recode-file-name to change the file name's coding system. This prompts for an existing file name, its old coding system, and the coding system to which you wish to convert.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |