А это OEM - т.е. кодировка MS-DOS, а совсем не utf-8. Кстати, вот как добавляется шрифт в консольные настройки: https://support.microsoft.com/en-us/kb/247815. Только что попробоавал. Шрифт добавился, теперь выводится квадратик без знака вопроса внутри.
Я на Вашей картинке в pycharm'е вижу квадратик (а, понял, это у Вас консоль на фоне pycharm'а), вместо иероглифа, поэтому решил, что у Вас тут проблемы. Если в чистой консоли, то надо ее перевести в utf-8 командой chcp 65001. А вот как там "правильный" шрифт задать? У меня в списке шрифтов DejaVu Sans Mono почему-то не видно.
По первому пункту - я вижу что-то типа элемента словаря, который надо распарсить, но явно не через вызов str - читайте документацию. А вот по второму пункту, надо разбираться дальше. У вас, часом, эта переменная в Windows не установлена? Или в вызове на запуска скрипта? Сотрите нафиг.
Хмм. В третьем питоне decode - это метод byte/bytearray, а не строки...
И выведите на печать то, что вызывает ошибку (оберните f.write() в try/except)...
Musgem: Он, вроде бы, исправляет какие-то другие ошибки (см. длинное обсуждение на bugs.python.org/issue1602 ), а то, что заодно и ситуацию в Visual Studio 2015, так это какой-то побочный эффект. Надо бы добавить issue тут: https://github.com/Microsoft/PTVS, но спасение утопающих - дело рук самих утопающих.
Musgem: Вспомнил, что у меня VS 2015 установлена ;) В общем, инсталлируйте себе пакет win_unicode_console (или с помощью pip или даже прямо из Visual Studio, вроде, можно), а потом добавьте себе в начало файла пару строк: