Почему Python не распознает мой исходный файл в кодировке utf-8?
Вот небольшой tmp.py с не ASCII символом:
if __name__ == "__main__":
s = 'ß'
print(s)
Запустив его, я получаю следующую ошибку:
Traceback (most recent call last):
File ".\tmp.py", line 3, in
print(s)
File "C:\Python32\lib\encodings\cp866.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\xdf' in position 0: character maps to
Документы Pythonговорит:
По умолчанию исходные файлы Python обрабатываются как закодированные в UTF-8 ...
Мой способ проверить кодировку - использовать Firefox (возможно, кто-то посоветует что-то более очевидное). Я открываю tmp.py в Firefox, и если я выбираю View->Кодировка символов->Unicode (UTF-8) выглядит хорошо, так выглядит в этом вопросе (wth ß) условное обозначение).
Если я поставлю:
# -*- encoding: utf-8 -*-
первая строка в tmp.py ничего не меняетошибка сохраняется.
Может ли кто-нибудь помочь мне понять, что я делаю не так?