# FileEncoding [AHK_L 42+]

Sets the default encoding for FileRead, FileReadLine, Loop Read, FileAppend, and FileOpen().

    FileEncoding , Encoding

## Parameters

Encoding

  One of the following values (if omitted, it defaults to the system default ANSI code page, which is also the default setting):

  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.

## Remarks

`A_FileEncoding` contains the current setting.

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).

## Related

FileOpen(), StrGet(), StrPut(), Script Compatibility