PyCharm 2024.1 Help


To display and edit files correctly, PyCharm needs to know which encoding to use. Source code files are usually encoded in UTF-8. This is the recommended encoding unless you have other requirements.

To determine the encoding of a file, PyCharm uses the following steps:

  • If the byte order mark (BOM) is present, PyCharm will use the corresponding Unicode encoding regardless of all other settings. For more information, refer to Byte order mark.

  • If the file declares the encoding explicitly, PyCharm will use the specified encoding. For example, this can apply to XML or HTML files. The explicit declaration also overrides all other settings, but you can change it in the editor.

  • If there is no BOM and no explicit encoding declaration in the file, PyCharm will use the encoding configured for the file or directory in the file encoding settings. If encoding is not configured for the file or directory, PyCharm will use the encoding of the parent directory. If the parent directory encoding is also not configured, PyCharm will fall back to the Project Encoding, and if there is no project, to Global Encoding.

Change encoding of a file that contains explicit encoding

  1. Open the desired file in the editor.

  2. Change explicit encoding information. Use error highlighting to recognize wrong encoding and press Ctrl+Space to have a list of available encodings displayed:

    Explicit encoding

Change the encoding used to view a file

If PyCharm displays characters in a file incorrectly, it probably couldn't detect the file encoding. In this case, you need to specify the correct encoding to be used for viewing and editing this file.

  1. Open the file in the editor.

  2. Click the File Encoding widget on the status bar.

    Alternatively, select File | File Properties | File Encoding from the main menu.

  3. Select the correct encoding.

    Status bar encoding

    Encodings marked with The triangle warning icon or The round error icon might change the file contents. In this case, PyCharm opens a dialog where you can choose what to do with the file:

    • Reload: load the file in the editor from disk and apply encoding changes to the editor only. You will see the content changes related to the chosen encoding, but the actual file will not change.

    • Convert: overwrite the file with the chosen encoding.

This will add an association for the file to the file encoding settings. PyCharm will use the specified encoding to view and edit this file.

Configure file encoding settings

  • Press Ctrl+Alt+S to open the IDE settings and then select Editor | File Encodings.

PyCharm uses these settings to view and edit files for which it was unable to detect the encoding and uses the specified encodings for new files. For more information, refer to File Encodings.

Select console output encoding

By default, PyCharm uses the system encoding to view console output.

  1. In the Settings dialog (Ctrl+Alt+S) , select Editor | General | Console.

  2. Select the default encoding from the Default Encoding list.

  3. Click OK to apply the changes.

For more information about console output settings, refer to Console.

Last modified: 11 February 2024