Provides a safe encoding which corresponds to the current code page on Microsoft Windows, and the locale on Unix.
The function
safe-locale-file-encoding
is similar to locale-file-encoding except that it always returns a safe external format. That is, the external format does not signal error on writing characters not in the encoding.
On Microsoft Windows,
safe-locale-file-encoding
consults the ANSI code page. If the code page identifier
id
is in
win32:*latin-1-code-pages*
, it merges
ef-spec
with
:latin-1-safe
. This external format writes Latin-1 on output, using 63 (ASCII '?') to replace any non-Latin-1 characters that are written. If the code page identifier
id
is not in
win32:*latin-1-code-pages*
then
safe-locale-file-encoding
merges
ef-spec
with an encoding corresponding to the current code page that uses the code page's replacement code for characters that cannot be encoded.
safe-locale-file-encoding
merges
ef-spec
with
:latin-1-safe
on Unix.