print
Загрузка материала в стандартный вывод может быть проблематичной, поскольку Python часто не знает, какую кодировку символов использует система. На первый взгляд этот Python 2 предполагает наиболее консервативный выбор, ASCII США. Поэтому, когда вы пытаетесь напечатать строку, содержащую символы, которых нет в ASCII, например, умную цитату U + 2019 ’
, выдается эта ошибка.
В Python 3 стандартное предположение кодировки для sys.stdout.encoding
- UTF-8. Если вы уверены, что ваш стандартный вывод (т. Е. PuTTY в вашем случае) должен принимать UTF-8, то да, вы можете явно его кодировать:
print content.encode('UTF-8')