Python source files can now be declared as being in different
character set encodings. Encodings are declared by including a
specially formatted comment in the first or second line of the source
file. For example, a UTF-8 file can be declared with:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
Without such an encoding declaration, the default encoding used is
7-bit ASCII. Executing or importing modules that contain string
literals with 8-bit characters and have no encoding declaration will result
in a DeprecationWarning being signalled by Python 2.3; in
2.4 this will be a syntax error.
The encoding declaration only affects Unicode string literals, which
will be converted to Unicode using the specified encoding. Note that
Python identifiers are still restricted to ASCII characters, so you
can't have variable names that use characters outside of the usual
alphanumerics.