When saving a source file with non-ascii characters from an IDLE window,
on Windows platform (XP and Server 2003 at least)
with locale English US
locale.getdefaultlocale()
('en_US', 'cp1252')
IDLE prompts in IOBinding.py with the message
"non Ascii found, yet no encoding declared, Add a line like # -*-
coding: cp1252 -*-"
If accepted, the file is saved with the wrong encoding.
Afterwards, it is read back by IDLE without any problem and it looks
good in the IDLE window.
However, if a string with non-ascii characters is sent to another
module (i.e. email MIMEText)
the string is wrong.
The same source would be rejected by python in terminal mode and by
IDLE on Linux. |