DefaultFileSystemCodePage¶
Codepage to use for filenames.
Declaration¶
Source position: systemh.inc line 860
var
DefaultFileSystemCodePage: TSystemCodePage = Word;
Description¶
DefaultFileSystemCodePage determines the code page to which file/path names are translated before they are passed to OS API calls, if the RTL uses a single byte OS API for this purpose on the current platform.
This code page is also used for intermediate operations on file paths inside the RTL before making OS API calls.
This variable does not exist in Delphi, and has been introduced in FPC to make it possible to change the value of DefaultSystemCodePage without breaking RTL interfaces with the OS file system API calls.
The initial value of this variable depends on the platform:
- Windows: UTF-8, because the RTL uses UTF-16 OS API calls (so no data is lost in intermediate operations).
- OS X and iOS: UTF-8 (as defined by Apple)
- Unix (excluding OS X and iOS): equals DefaultSystemCodePage. This is because the encoding of file names is undefined on Unix platforms: it is an untyped array of bytes that can be interpreted in any way; Specifically, it is not guaranteed to be valid UTF-8.
- Other platforms: same as DefaultSystemCodePage.
The value of this variable may be changed using the SetMultiByteFileSystemCodePage procedure.
Remark:
See also¶
| Name | Description |
|---|---|
| DefaultSystemCodePage | Current system codepage. |
| DefaultRTLFileSystemCodePage | Code page in which to return system-returned filenames. |
| SetMultiByteFileSystemCodePage | Set codepage used when passing strings to OS single-byte file system APIs. |