Sets the default encoding for FileRead, FileReadLine, Loop Read, FileAppend, and FileOpen().
FileEncoding , Encoding
If blank or omitted, it defaults to CP0. Otherwise, specify one of the following strings:
CP0: The system default ANSI code page. See remarks below.
UTF-8: Unicode UTF-8, equivalent to CP65001.
UTF-8-RAW: As above, but no byte order mark is written when a new file is created.
UTF-16: Unicode UTF-16 with little endian byte order, equivalent to CP1200.
UTF-16-RAW: As above, but no byte order mark is written when a new file is created.
CPnnn: A code page with numeric identifier nnn. See Code Page Identifiers.
If FileEncoding is not used, the default encoding is CP0.
CP0 does not universally identify a single code page; rather, it corresponds to the system default ANSI code page, which depends on the system locale or "language for non-Unicode programs" system setting. To get the actual code page number, call DllCall("GetACP")
.
The built-in variable A_FileEncoding contains the current setting. If CP0 is the current setting, A_FileEncoding returns a blank value.
Every newly launched thread (such as a hotkey, custom menu item, or timed subroutine) starts off fresh with the default setting for this command. That default may be changed by using this command in the auto-execute section (top part of the script).
The default encoding is not used if a UTF-8 or UTF-16 byte order mark is present in the file, unless the file is being opened with write-only access (i.e. the previous contents of the file are being discarded).