Я пытаюсь вывести символы Unicode из Python 3. Программа представляет собой простой однострочный файл, где я печатаю не-ascii литералы:
print("íó")
Программа закодирована в utf-8.
Я запускаю эту программу на двух разных компьютерах с Windows (Windows 7, Windows 10);на каждой машине я запускаю это с cmd и MinGW .
Это работает в Windows 10 (как cmd, так и MinGW).
В Windows 7 выходные данные преобразуются в ascii при запуске из cmd, а Python выдает исключение при запуске из MinGW:
Traceback (последний вызов был последним): файл "test.py", строка4, в печатном ("\ xed \ xf3") файле "C: \ Program Files (x86) \ Python36-32 \ lib \ encodings \ cp1251.py", строка 19, в кодировании, возвращают codecs.charmap_encode (входной, self. ошибки, encoding_table) [0] UnicodeEncodeError: кодек 'charmap' не может кодировать символы в позиции 0-1: символы отображаются на
В чем может быть проблема? Какая разница в машинах (версии Python и MinGW очень близки)? В чем отличие запуска Python от cmd и MinGW, которые вызывают исключение?
Конфигурации машин:
- Windows 7;Python 3.6.0;MinGW 2.8.3
- Windows 10;Python 3.6.5;MinGW 2.8.5